![]() |
![]() |
This file contains the type definitions and helper macros for the CPSW data path (DMA) interface. More...
Data Structures | |
struct | EnetUdma_PktTsInfo_s |
CPPI buffer timestamp info. More... | |
struct | EnetUdma_PktInfo_s |
Packet data structure. More... | |
struct | EnetUdma_CpswHpdDesc_s |
CPSW UDMA descriptor format. More... | |
struct | EnetUdma_DmaDesc_s |
CPPI DMA descriptor. More... | |
struct | EnetUdma_RingMonCfg_s |
UDMA ring monitor config parameters. More... | |
struct | EnetUdma_UdmaRingPrms_s |
Enet UDMA channel ring parameters. More... | |
struct | EnetUdma_UdmaChPrms_s |
Enet UDMA RX flow/TX channel ring configuration parameters. More... | |
struct | EnetUdma_UdmaFlowPrms_s |
UDMA RX channel flow parameters. More... | |
struct | EnetUdma_UdmaChTxPrms_s |
Enet UDMA TX channel parameters. More... | |
struct | EnetUdma_AutoReclaimPrms_s |
CPSW channel/flow auto-reclaim config struct. More... | |
struct | EnetUdma_OpenRxFlowPrms_s |
Param struct for the get default flowId open parameters. More... | |
struct | EnetUdma_OpenTxChPrms_s |
Param struct for the TX channel open function. More... | |
struct | EnetUdma_RxChInitPrms_s |
Param struct for the RX channel open. More... | |
struct | EnetUdma_Cfg_s |
Config structure for Enet UDMA. More... | |
struct | EnetUdma_DmaCfg_s |
Config structure for Enet UDMA Data Path initialization. More... | |
Macros | |
Enet UDMA instance configuration | |
Configuration macros for Enet UDMA module. | |
#define | ENET_UDMA_CPSW_MAX_TX_CH (8U) |
Maximum number of CPSW TX DMA channels. | |
#define | ENET_UDMA_CPSW_MAX_RX_FLOW (64U) |
Maximum number of CPSW RX FLOWS channels. | |
#define | ENET_UDMA_CPSW_MAX_RX_FREE_QUEUE (4U) |
Max. number for RX free queues for CPSW RX DMA flow. | |
#define | ENET_UDMA_HPD_SIZE (128U) |
Enet UDMA HPD packet size. | |
#define | ENET_UDMA_EXTENDED_PKT_INFO_BLOCK_SIZE (16U) |
Extended Packet Info Block size. | |
#define | ENET_UDMA_PROTOCOL_SPECIFIC_INFO_BLOCK_SIZE (16U) |
Extended Packet Info Block size. | |
#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. | |
#define | ENET_UDMA_RXFLOWIDX_INVALID (0xABCDABCDU) |
Enet UDMA invalid RX flow id. | |
#define | ENET_UDMA_RXMTU_ALIGN (1U << 5U) |
Enet UDMA RX MTU alignment. The RxFlow MTU must be aligned to this value. More... | |
Typedefs | |
typedef struct EnetUdma_DmaDescQ_s * | EnetUdma_DmaDescQHandle |
Opaque handle to Enet UDMA descriptor queue. | |
typedef struct EnetUdma_PktTsInfo_s | EnetUdma_PktTsInfo |
CPPI buffer timestamp info. More... | |
typedef struct EnetUdma_PktInfo_s | EnetUdma_PktInfo |
Packet data structure. More... | |
typedef struct EnetUdma_CpswHpdDesc_s | EnetUdma_CpswHpdDesc |
CPSW UDMA descriptor format. More... | |
typedef struct EnetUdma_DmaDesc_s | EnetUdma_DmaDesc |
CPPI DMA descriptor. More... | |
typedef struct EnetUdma_RingMonCfg_s | EnetUdma_RingMonCfg |
UDMA ring monitor config parameters. More... | |
typedef struct EnetUdma_UdmaRingPrms_s | EnetUdma_UdmaRingPrms |
Enet UDMA channel ring parameters. More... | |
typedef struct EnetUdma_UdmaChPrms_s | EnetUdma_UdmaChPrms |
Enet UDMA RX flow/TX channel ring configuration parameters. More... | |
typedef struct EnetUdma_UdmaFlowPrms_s | EnetUdma_UdmaFlowPrms |
UDMA RX channel flow parameters. More... | |
typedef struct EnetUdma_UdmaChTxPrms_s | EnetUdma_UdmaChTxPrms |
Enet UDMA TX channel parameters. More... | |
typedef struct EnetUdma_AutoReclaimPrms_s | EnetUdma_AutoReclaimPrms |
CPSW channel/flow auto-reclaim config struct. | |
typedef struct EnetUdma_OpenRxFlowPrms_s | EnetUdma_OpenRxFlowPrms |
Param struct for the get default flowId open parameters. More... | |
typedef struct EnetUdma_OpenTxChPrms_s | EnetUdma_OpenTxChPrms |
Param struct for the TX channel open function. More... | |
typedef struct EnetUdma_RxChInitPrms_s | EnetUdma_RxChInitPrms |
Param struct for the RX channel open. More... | |
typedef struct EnetUdma_Cfg_s | EnetUdma_Cfg |
Config structure for Enet UDMA. More... | |
typedef struct EnetUdma_DmaCfg_s | EnetUdma_DmaCfg |
Config structure for Enet UDMA Data Path initialization. More... | |
typedef struct EnetUdma_Obj_s * | EnetUdma_Handle |
Opaque handle for Enet UDMA driver object. More... | |
Enet DMA driver opaque handles | |
Opaque handle typedefs for Enet DMA driver objects. | |
typedef struct EnetUdma_RxFlowObj_s * | EnetDma_RxChHandle |
Opaque handle that holds software state for Enet RX DMA flow. More... | |
typedef struct EnetUdma_TxChObj_s * | EnetDma_TxChHandle |
Opaque handle that holds software state for Enet TX DMA channel. | |
typedef struct EnetUdma_PktInfo_s | EnetDma_PktInfo |
Enet DMA packet info structure typedef for Enet UDMA module. | |
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. | |
typedef void(* | EnetUdma_FreeRingMemFxn )(void *appPriv, void *pRingMem, uint32_t numRingEle) |
Function pointer type for packet free function. | |
typedef struct EnetUdma_DmaDesc_s *(* | EnetUdma_AllocDmaDescFxn )(void *appPriv, uint32_t alignSize) |
Function pointer type for DMA descriptor allocation function. | |
typedef void(* | EnetUdma_FreeDmaDescFxn )(void *appPriv, struct EnetUdma_DmaDesc_s *dmaDescPtr) |
Function pointer type for DMA descriptor free function. | |
typedef void(* | EnetUdma_PktNotifyCb )(void *cbArg) |
Function pointer type for packet notify call back. More... | |
Functions | |
int32_t | EnetUdma_checkRxFlowSanity (EnetUdma_RxFlowHandle hRxFlow, uint32_t margin) |
Check if any packet loss in RX flow FQ and CQ rings. More... | |
int32_t | EnetUdma_checkTxChSanity (EnetUdma_TxChHandle hTxCh, uint32_t margin) |
Check if any packet loss in TX Channel FQ and CQ rings. More... | |
Udma_RingHandle | EnetUdma_getTxChFqHandle (EnetUdma_TxChHandle hTxCh) |
Get TX channel FQ handle. More... | |
EnetUdma_DmaDescQHandle | EnetUdma_getTxChDescPoolHandle (EnetUdma_TxChHandle hTxCh) |
Get handle to DMA descriptor free pool for TX channel. More... | |
Udma_RingHandle | EnetUdma_getRxFlowFqHandle (EnetUdma_RxFlowHandle hRxFlow) |
Get RX flow FQ handle. More... | |
EnetUdma_DmaDescQHandle | EnetUdma_getRxFlowDescPoolHandle (EnetUdma_RxFlowHandle hRxFlow) |
Get handle to DMA descriptor free pool for RX flow. More... | |
EnetDma_Handle | EnetDma_initDmaCfg (Cpsw_Type cpswType, const EnetUdma_DmaCfg *pDmaCfg) |
Initialize data path. More... | |
int32_t | EnetDma_deinitDmaCfg (EnetDma_Handle hCpswDma) |
De-initialize data path. More... | |
This file contains the type definitions and helper macros for the CPSW data path (DMA) interface.