![]()  | 
  
    PDK API Guide for J721E
    
   | 
 
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_HPD_SRC_TAG_LOW_MASK (0xFF) | 
| Source tag low mask of descriptor (used to get packet's received port number)  More... | |
| #define | ENET_UDMA_CPSW_MAX_SG_LIST (4U) | 
| Total number of scattered segments.  More... | |
| #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) | 
| 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 | 
| Transmit Packet scatter gather list entry.  More... | |
| struct | EnetUdma_SGList | 
| Packet scatter list info.  More... | |
| struct | EnetUdma_PktInfo | 
| Packet data structure.  More... | |
| 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_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... | |
Functions | |
| void | EnetUdma_initDataPathParams (EnetDma_initCfg *pDmaConfig) | 
| EnetDma_Handle | EnetUdma_initDataPath (Enet_Type enetType, uint32_t instId, const EnetDma_initCfg *pDmaInitCfg) | 
| int32_t | EnetUdma_deInitDataPath (EnetDma_Handle hEnetUdma) | 
| int32_t | EnetUdma_checkRxFlowSanity (EnetDma_RxChHandle hRxFlow, uint32_t margin) | 
| Check if any packet loss in RX flow FQ and CQ rings.  More... | |
| int32_t | EnetUdma_checkTxChSanity (EnetDma_TxChHandle hTxCh, uint32_t margin) | 
| Check if any packet loss in TX Channel FQ and CQ rings.  More... | |
| Udma_RingHandle | EnetUdma_getTxChFqHandle (EnetDma_TxChHandle hTxCh) | 
| Get TX channel FQ handle.  More... | |
| EnetUdma_DmaDescQHandle | EnetUdma_getTxChDescPoolHandle (EnetDma_TxChHandle hTxCh) | 
| Get handle to DMA descriptor free pool for TX channel.  More... | |
| Udma_RingHandle | EnetUdma_getRxFlowFqHandle (EnetDma_RxChHandle hRxFlow) | 
| Get RX flow FQ handle.  More... | |
| EnetUdma_DmaDescQHandle | EnetUdma_getRxFlowDescPoolHandle (EnetDma_RxChHandle hRxFlow) | 
| Get handle to DMA descriptor free pool for RX flow.  More... | |