This file contains the type definitions and helper macros for the Enet UDMA data path (DMA) interface.
Go to the source code of this file.
Enet UDMA instance configuration | |
#define | ENET_UDMA_HPD_SIZE (128U) |
Enet UDMA HPD packet size. More... | |
#define | ENET_UDMA_EXTENDED_PKT_INFO_BLOCK_SIZE (16U) |
Extended Packet Info Block size. More... | |
#define | ENET_UDMA_PROTOCOL_SPECIFIC_INFO_BLOCK_SIZE (16U) |
Extended Packet Info Block size. More... | |
#define | ENET_UDMA_PKT_DESC_RESERVED_SIZE |
Extended Packet Info Block size. More... | |
#define | ENET_UDMA_RING_MEM_SIZE (sizeof(uint64_t)) |
UDMA ring single element size. More... | |
#define | ENET_UDMA_RXMTU_ALIGN (1U << 5U) |
Enet UDMA RX MTU alignment. The RxFlow MTU must be aligned to this value. More... | |
#define | ENET_UDMA_CPSW_MAX_SG_LIST (4U) |
#define | ENET_UDMA_CPSW_HOSTPKTDESC_INDEX (0U) |
Index of the Host Packet(first packet) descriptor. More... | |
#define | ENET_UDMA_CPSW_HOSTBUFDESC_INDEX (1U) |
Index of the first Host Buffer descriptor. More... | |
#define | ENET_UDMA_CPSW_MAX_HOSTBUFDESC_COUNT (ENET_UDMA_CPSW_MAX_SG_LIST - ENET_UDMA_CPSW_HOSTBUFDESC_INDEX) |
#define | ENET_UDMA_HPD_SRC_TAG_LOW_MASK (0xFF) |
Source tag low mask of descriptor (used to get packet's received port number) More... | |
#define | ENET_UDMA_DESC_ALIGNMENT (64U) |
UDMA descriptor address alignment requirement. More... | |
typedef struct EnetUdma_Cfg_s | EnetDma_Cfg |
Opaque handle that holds config Info for Enet DMA channel. More... | |
Data Structures | |
struct | EnetUdma_PktTsInfo |
CPPI buffer timestamp info. More... | |
struct | EnetUdma_SGListEntry |
Packet data structure. More... | |
struct | EnetUdma_SGList |
Transmit packet scatter list info. More... | |
struct | EnetUdma_PktInfo |
struct | EnetUdma_CpswHpdDesc |
Enet UDMA descriptor format. More... | |
struct | EnetUdma_DmaDesc |
CPPI DMA descriptor. More... | |
struct | EnetUdma_DmaDesc::EnetUdma_HBDDesc_s |
struct | EnetUdma_RingMonCfg |
UDMA ring monitor config parameters. More... | |
struct | EnetUdma_UdmaRingPrms |
Enet UDMA channel ring parameters. More... | |
struct | EnetUdma_UdmaChPrms |
Enet UDMA RX flow/TX channel ring configuration parameters. More... | |
struct | EnetUdma_UdmaFlowPrms |
UDMA RX channel flow parameters. More... | |
struct | EnetUdma_UdmaChTxPrms |
Enet UDMA TX channel parameters. More... | |
struct | EnetUdma_AutoReclaimPrms |
Enet UDMA channel/flow auto-reclaim config struct. More... | |
struct | EnetUdma_OpenRxFlowPrms |
Param struct for the get default flowId open parameters. More... | |
struct | EnetUdma_OpenTxChPrms |
Param struct for the TX channel open function. More... | |
struct | EnetUdma_RxChInitPrms |
Param struct for the RX channel open. More... | |
struct | EnetUdma_Cfg |
Config structure for Enet UDMA. More... | |
struct | EnetDma_initCfg |
Config structure for Enet UDMA Data Path initialization. More... | |
Typedefs | |
typedef struct EnetUdma_DmaDescQ_s * | EnetUdma_DmaDescQHandle |
Opaque handle to Enet UDMA descriptor queue. More... | |
typedef EnetUdma_SGListEntry | EnetDma_SGListEntry |
typedef EnetUdma_OpenRxFlowPrms | EnetDma_OpenRxChPrms |
Param struct for the RX channel open function. We include this typedef as top level DMA APIs use EnetDma_OpenRxChPrms struct. More... | |
Enet DMA driver callback function types | |
Callback function typedefs so that the EnetDma layer can call into the app layer and let it translate between the hardware packet descriptors and packets and the stack/translation layer's buffers and packets. | |
typedef uint8_t *(* | EnetUdma_AllocRingMemFxn) (void *appPriv, uint32_t numRingEle, uint32_t alignSize) |
Function pointer type for packet allocation function. More... | |
typedef void(* | EnetUdma_FreeRingMemFxn) (void *appPriv, void *pRingMem, uint32_t numRingEle) |
Function pointer type for packet free function. More... | |
typedef struct EnetUdma_DmaDesc_s *(* | EnetUdma_AllocDmaDescFxn) (void *appPriv, uint32_t alignSize) |
Function pointer type for DMA descriptor allocation function. More... | |
typedef void(* | EnetUdma_FreeDmaDescFxn) (void *appPriv, struct EnetUdma_DmaDesc_s *dmaDescPtr) |
Function pointer type for DMA descriptor free function. More... | |
typedef void(* | EnetDma_PktNotifyCb) (void *cbArg) |
Function pointer type for packet notify call back. More... | |