50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /****************************************************************************
 | ||
|  | 
 | ||
|  | Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. | ||
|  | 
 | ||
|  | This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT | ||
|  | be copied by any method or incorporated into another program without | ||
|  | the express written consent of Aerospace C.Power. This Information or any portion | ||
|  | thereof remains the property of Aerospace C.Power. The Information contained herein | ||
|  | is believed to be accurate and Aerospace C.Power assumes no responsibility or | ||
|  | liability for its use in any way and conveys no license or title under | ||
|  | any patent or copyright and makes no representation or warranty that this | ||
|  | Information is free from patent or copyright infringement. | ||
|  | 
 | ||
|  | ****************************************************************************/ | ||
|  | 
 | ||
|  | #ifndef MAC_DMA_H
 | ||
|  | #define MAC_DMA_H
 | ||
|  | #include "os_types.h"
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #define MAX_DMA_FRAG_NUM    3
 | ||
|  | 
 | ||
|  | /* pack for the structures in the whole file */ | ||
|  | #pragma pack(push)	// save the pack status
 | ||
|  | #pragma pack(1)		// 1 byte align
 | ||
|  | 
 | ||
|  | typedef PREPACK struct _dma_frag { | ||
|  |     uint32_t addr; // the addr of the data pointer, not the data itself
 | ||
|  |     uint32_t need_free : 1, // to be removed in future
 | ||
|  |         hw_own : 1, // is hw own this frag buf
 | ||
|  |         len : 30; | ||
|  | } POSTPACK dma_frag_t; | ||
|  | 
 | ||
|  | typedef PREPACK struct _dma_frag_list { | ||
|  |     dma_frag_t buf_frag; | ||
|  |     struct dma_frag_list_t *next; | ||
|  | } POSTPACK dma_frag_list_t; | ||
|  | 
 | ||
|  | 
 | ||
|  | #pragma pack(pop)	// restore the pack status
 | ||
|  | 
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif  //MAC_DMA_H
 |