AM263Px MCU+ SDK: enet_dma.h File Reference

| AM263Px MCU+ SDK 26.00.00 |

Data Structures | Macros | Typedefs | Functions
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 | 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...
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...
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...