AM64x MCU+ SDK  08.02.00
enet_dma.h File Reference

Introduction

This file contains the type definitions and helper macros for the Enet Data Path (DMA) interface.

Go to the source code of this file.

Data Structures

struct  EnetDma_CbStats
 Stats for packets submitted/retrieved in the DMA event callbacks functions. More...
 
struct  EnetDma_DmaDescStats
 DMA descriptor stats for the RX & TX channels. More...
 
struct  EnetDma_RxChStats
 RX channel statistics. More...
 
struct  EnetDma_TxChStats
 TX channel statistics. More...
 

Macros

#define ENET_DMA_STATS_HISTORY_CNT   ((uint32_t)32U)
 Enet DMA statistics configuration. More...
 

Typedefs

typedef EnetQ EnetDma_PktQ
 Packet queue. 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 DMA packet descriptors and packets and the stack/translation layer's buffers and packets.

typedef EnetDma_Pkt *(* EnetDma_AllocEthPktFxn) (uint32_t pktSize, uint32_t alignSize, void *appPriv)
 Function pointer type for Ethernet packet allocation function. More...
 
typedef void(* EnetDma_FreeEthPktFxn) (EnetDma_Pkt *pPktInfo)
 Function pointer type for Ethernet packet free function. More...
 

Functions

EnetDma_Handle EnetDma_initDmaCfg (Enet_Type enetType, uint32_t instId, const EnetDma_initCfg *pDmaCfg)
 Initialize data path. More...
 
int32_t EnetDma_deinitDmaCfg (EnetDma_Handle hEnetUdma)
 De-initialize data path. More...
 
EnetDma_Handle EnetDma_open (Enet_Type enetType, uint32_t instId, const void *dmaCfg)
 Set default data path parameters. More...
 
int32_t EnetDma_close (EnetDma_Handle hEnetDma)
 Close Enet DMA (data path). More...
 
void EnetDma_initRxChParams (void *pRxChCfg)
 Initialize RX channel open parameters. More...
 
EnetDma_RxChHandle EnetDma_openRxCh (EnetDma_Handle hDma, const void *pRxChCfg)
 Enet DMA open RX channel. More...
 
int32_t EnetDma_closeRxCh (EnetDma_RxChHandle hRxCh, EnetDma_PktQ *fq, EnetDma_PktQ *cq)
 Enet DMA close RX channel. More...
 
int32_t EnetDma_enableRxEvent (EnetDma_RxChHandle hRxCh)
 Enable RX channel packet reception event. More...
 
int32_t EnetDma_disableRxEvent (EnetDma_RxChHandle hRxCh)
 Disable RX channel packet reception event. More...
 
void EnetDma_initTxChParams (void *pTxChCfg)
 Initialize TX channel open parameters. More...
 
EnetDma_TxChHandle EnetDma_openTxCh (EnetDma_Handle hDma, const void *pTxChCfg)
 Enet DMA open TX channel. More...
 
int32_t EnetDma_closeTxCh (EnetDma_TxChHandle hTxCh, EnetDma_PktQ *fq, EnetDma_PktQ *cq)
 Enet DMA close TX channel. More...
 
int32_t EnetDma_enableTxEvent (EnetDma_TxChHandle hTxCh)
 Enable TX channel packet transmit completion event. More...
 
int32_t EnetDma_disableTxEvent (EnetDma_TxChHandle hTxCh)
 Disable TX channel packet transmit completion event. More...
 
int32_t EnetDma_retrieveRxPktQ (EnetDma_RxChHandle hRxCh, EnetDma_PktQ *pRetrieveQ)
 Retrieve queue of RX ready (full) packets from RX channel. More...
 
int32_t EnetDma_retrieveRxPkt (EnetDma_RxChHandle hRxCh, EnetDma_Pkt **pPkt)
 Retrieve single RX ready (full) packet (single) from RX channel. More...
 
int32_t EnetDma_submitRxPktQ (EnetDma_RxChHandle hRxCh, EnetDma_PktQ *pSubmitQ)
 Submit queue of RX free (empty) packets for reception to RX channel. More...
 
int32_t EnetDma_submitRxPkt (EnetDma_RxChHandle hRxCh, EnetDma_Pkt *pPkt)
 Submit single RX free (empty) packet for reception to RX channel. More...
 
int32_t EnetDma_retrieveTxPktQ (EnetDma_TxChHandle hTxCh, EnetDma_PktQ *pRetrieveQ)
 Retrieve queue of TX free (empty) packets from TX channel. More...
 
int32_t EnetDma_retrieveTxPkt (EnetDma_TxChHandle hTxCh, EnetDma_Pkt **pPkt)
 Retrieve single TX free (empty) packet from TX channel. More...
 
int32_t EnetDma_submitTxPktQ (EnetDma_TxChHandle hTxCh, EnetDma_PktQ *pSubmitQ)
 Submit a queue of ready (full) packets to TX channel. More...
 
int32_t EnetDma_submitTxPkt (EnetDma_TxChHandle hTxCh, EnetDma_Pkt *pPkt)
 Submit a single ready (full) packet to TX channel. More...
 
void EnetDma_initPktInfo (EnetDma_Pkt *pktInfo)
 Initialize packet information structure. More...
 
int32_t EnetDma_getRxChStats (EnetDma_RxChHandle hRxCh, EnetDma_RxChStats *pStats)
 Get RX channel statistics. More...
 
int32_t EnetDma_getTxChStats (EnetDma_TxChHandle hTxCh, EnetDma_TxChStats *pStats)
 Get TX channel statistics. More...
 
int32_t EnetDma_resetRxChStats (EnetDma_RxChHandle hRxCh)
 Reset RX channel statistics. More...
 
int32_t EnetDma_resetTxChStats (EnetDma_TxChHandle hTxCh)
 Reset TX channel statistics. More...