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 | ENETDMA_RXCSUMINFO_CHKSUM_ADD_SHIFT (0U) |
THOST CSUM ENCAP Word- Checksum Add bit shift. More... | |
#define | ENETDMA_RXCSUMINFO_CHKSUM_ADD_MASK (((uint32_t) 0xFFFF) << ENETDMA_RXCSUMINFO_CHKSUM_ADD_SHIFT) |
THOST CSUM ENCAP Word - Checksum Add bit mask. More... | |
#define | ENETDMA_RXCSUMINFO_CHKSUM_ERR_SHIFT (16U) |
THOST CSUM ENCAP Word - Checksum Error bit shift. More... | |
#define | ENETDMA_RXCSUMINFO_CHKSUM_ERR_MASK (((uint32_t) 0x1U) << ENETDMA_RXCSUMINFO_CHKSUM_ERR_SHIFT) |
THOST CSUM ENCAP Word - Checksum Error bit mask. More... | |
#define | ENETDMA_RXCSUMINFO_FRAGMENT_SHIFT (17U) |
THOST CSUM ENCAP Word - IP Fragment bit shift. More... | |
#define | ENETDMA_RXCSUMINFO_FRAGMENT_MASK (((uint32_t) 0x1U) << ENETDMA_RXCSUMINFO_FRAGMENT_SHIFT) |
THOST CSUM ENCAP Word - IP Fragment bit mask. More... | |
#define | ENETDMA_RXCSUMINFO_TCP_UDP_N_SHIFT (18U) |
THOST CSUM ENCAP Word - TCP or UDP bit shift. More... | |
#define | ENETDMA_RXCSUMINFO_TCP_UDP_N_MASK (((uint32_t) 0x1U) << ENETDMA_RXCSUMINFO_TCP_UDP_N_SHIFT) |
THOST CSUM ENCAP Word - TCP or UDP bit mask. More... | |
#define | ENETDMA_RXCSUMINFO_IPV6_VALID_SHIFT (19U) |
THOST CSUM ENCAP Word - IPv6 Valid bit shift. More... | |
#define | ENETDMA_RXCSUMINFO_IPV6_VALID_MASK (((uint32_t) 0x1U) << ENETDMA_RXCSUMINFO_IPV6_VALID_SHIFT) |
THOST CSUM ENCAP Word - IPv6 Valid bit mask. More... | |
#define | ENETDMA_RXCSUMINFO_IPV4_VALID_SHIFT (20U) |
THOST CSUM ENCAP Word - IPv4 Valid bit shift. More... | |
#define | ENETDMA_RXCSUMINFO_IPV4_VALID_MASK (((uint32_t) 0x1U) << ENETDMA_RXCSUMINFO_IPV4_VALID_SHIFT) |
THOST CSUM ENCAP Word - IPv4 Valid bit mask. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_BYTECNT_SHIFT (0U) |
FHOST CSUM ENCAP Word - Checksum Byte Count bit shift. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_BYTECNT_MASK (((uint32_t) 0x3FFFU) << ENETDMA_TXCSUMINFO_CHKSUM_BYTECNT_SHIFT) |
FHOST CSUM ENCAP Word - Checksum Byte Count bit mask. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_INV_SHIFT (15U) |
FHOST CSUM ENCAP Word - Inverted Checksum bit shift. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_INV_MASK (((uint32_t) 0x1U) << ENETDMA_TXCSUMINFO_CHKSUM_INV_SHIFT) |
FHOST CSUM ENCAP Word - Inverted Checksum bit mask. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_STARTBYTE_SHIFT (16U) |
FHOST CSUM ENCAP Word - Checksum Start Byte bit shift. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_STARTBYTE_MASK (((uint32_t) 0xFFU) << ENETDMA_TXCSUMINFO_CHKSUM_STARTBYTE_SHIFT) |
FHOST CSUM ENCAP Word - Checksum Start Byte bit mask. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_RESULT_SHIFT (24U) |
FHOST CSUM ENCAP Word - Checksum Result bit shift. More... | |
#define | ENETDMA_TXCSUMINFO_CHKSUM_RESULT_MASK (((uint32_t) 0xFFU) << ENETDMA_TXCSUMINFO_CHKSUM_RESULT_SHIFT) |
FHOST CSUM ENCAP Word - Checksum Result bit mask. More... | |
#define | ENETDMA_RXCSUMINFO_GET_IPV4_FLAG(chkSumInfo) ENET_FEXT(chkSumInfo, ENETDMA_RXCSUMINFO_IPV4_VALID) |
Get IPv4 flag from THOST Checksum Encapsulation word. More... | |
#define | ENETDMA_RXCSUMINFO_GET_IPV6_FLAG(chkSumInfo) ENET_FEXT(chkSumInfo, ENETDMA_RXCSUMINFO_IPV6_VALID) |
Get IPv6 flag from THOST Checksum Encapsulation word. More... | |
#define | ENETDMA_RXCSUMINFO_GET_TCPUDP_N_FLAG(chkSumInfo) ENET_FEXT(chkSumInfo, ENETDMA_RXCSUMINFO_TCP_UDP_N) |
Get TCP or UDP flag from THOST Checksum Encapsulation word. More... | |
#define | ENETDMA_RXCSUMINFO_GET_FRAGMENT_FLAG(chkSumInfo) ENET_FEXT(chkSumInfo, ENETDMA_RXCSUMINFO_FRAGMENT) |
Get IP Fragment flag from THOST Checksum Encapsulation word. More... | |
#define | ENETDMA_RXCSUMINFO_GET_CHKSUM_ERR_FLAG(chkSumInfo) ENET_FEXT(chkSumInfo, ENETDMA_RXCSUMINFO_CHKSUM_ERR) |
Get Checksum Error flag from THOST Checksum Encapsulation word. More... | |
#define | ENETDMA_RXCSUMINFO_GET_CHKSUM_RESULT(chkSumInfo) ENET_FEXT(chkSumInfo, ENETDMA_RXCSUMINFO_CHKSUM_ADD) |
Get Checksum Result from THOST Checksum Encapsulation word. More... | |
#define | ENETDMA_TXCSUMINFO_SET_CHKSUM_RESBYTE(chkSumInfo, val) ENET_FINS(chkSumInfo, ENETDMA_TXCSUMINFO_CHKSUM_RESULT, val) |
Set Checksum Result Byte into FHOST Checksum Encapsulation word. More... | |
#define | ENETDMA_TXCSUMINFO_SET_CHKSUM_STARTBYTE(chkSumInfo, val) ENET_FINS(chkSumInfo, ENETDMA_TXCSUMINFO_CHKSUM_STARTBYTE, val) |
Set Checksum Start Byte into FHOST Checksum Encapsulation word. More... | |
#define | ENETDMA_TXCSUMINFO_SET_CHKSUM_INV_FLAG(chkSumInfo, val) ENET_FINS(chkSumInfo, ENETDMA_TXCSUMINFO_CHKSUM_INV, val) |
Set Invert Checksum flag into FHOST Checksum Encapsulation word. More... | |
#define | ENETDMA_TXCSUMINFO_SET_CHKSUM_BYTECNT(chkSumInfo, val) ENET_FINS(chkSumInfo, ENETDMA_TXCSUMINFO_CHKSUM_BYTECNT, val) |
Set Checksum Byte Count into FHOST Checksum Encapsulation word. More... | |
#define | ENET_DMA_STATS_HISTORY_CNT ((uint32_t)2U) |
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... | |
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_registerRxEventCb (EnetDma_RxChHandle hRxCh, EnetDma_PktNotifyCb notifyCb, void *cbArg) |
Register packet arrival event callback. 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_registerTxEventCb (EnetDma_TxChHandle hTxCh, EnetDma_PktNotifyCb notifyCb, void *cbArg) |
Register packet transmit completion event callback. 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... | |