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
|