|
AM263x MCU+ SDK
08.03.00
|
|
Go to the documentation of this file.
59 #if defined(SOC_AM64X) || defined(SOC_AM243X)
60 #include <drivers/udma.h>
61 #include <include/dma/udma/enet_udma_types.h>
62 #include <include/dma/udma/enet_udma.h>
63 #include <include/dma/udma/enet_udma_psi.h>
64 #elif defined (SOC_AM273X) || defined(SOC_AWR294X) || defined(SOC_AM263X)
67 #error "SOC not supported"
78 #if ((__ARM_ARCH == 7) && (__ARM_ARCH_PROFILE == 'R'))
80 #define ENETDMA_CACHELINE_ALIGNMENT (32U)
82 #error "Enet library compilation not supported on non cortex R cores. Update correct cache line size"
87 #if defined(SOC_AM273X) || defined(SOC_AWR294X) || defined(SOC_AM263X)
89 #define Enet_isCacheCoherent() (false)
90 #elif defined(SOC_AM64X) || defined(SOC_AM243X)
92 #define Enet_isCacheCoherent() (Udma_isCacheCoherent())
94 #error "SOC not supported"
103 #define ENET_DMA_STATS_HISTORY_CNT ((uint32_t)8U)
149 typedef struct EnetDma_CbStats_s
192 typedef struct EnetDma_DmaDescStats_s
205 typedef struct EnetDma_RxChStats_s
224 typedef struct EnetDma_TxChStats_s
331 const void *pRxChCfg);
411 const void *pTxChCfg);
uint64_t txSubmitPktEnq
Definition: enet_dma.h:233
uint64_t rxSubmitPktEnq
Definition: enet_dma.h:214
int32_t EnetDma_disableRxEvent(EnetDma_RxChHandle hRxCh)
Disable RX channel packet reception event.
int32_t EnetDma_close(EnetDma_Handle hEnetDma)
Close Enet DMA (data path).
uint64_t freeDmaDescDeq
Definition: enet_dma.h:197
int32_t EnetDma_retrieveTxPkt(EnetDma_TxChHandle hTxCh, EnetDma_Pkt **pPkt)
Retrieve single TX free (empty) packet from TX channel.
int32_t EnetDma_submitTxPktQ(EnetDma_TxChHandle hTxCh, EnetDma_PktQ *pSubmitQ)
Submit a queue of ready (full) packets to TX channel.
uint64_t rxRetrievePktDeq
Definition: enet_dma.h:216
EnetDma_CbStats submitPktStats
Definition: enet_dma.h:208
#define ENET_DMA_STATS_HISTORY_CNT
Enet DMA statistics configuration.
Definition: enet_dma.h:103
int32_t EnetDma_enableTxEvent(EnetDma_TxChHandle hTxCh)
Enable TX channel packet transmit completion event.
void EnetDma_initRxChParams(void *pRxChCfg)
Initialize RX channel open parameters.
RX channel statistics.
Definition: enet_dma.h:206
struct EnetCpdma_RxChObj_s * EnetDma_RxChHandle
Opaque handle that holds software state for Enet RX DMA channel.
Definition: enet_cpdma_types.h:92
This file contains the basic types using across the Enet driver.
TX channel statistics.
Definition: enet_dma.h:225
int32_t EnetDma_getTxChStats(EnetDma_TxChHandle hTxCh, EnetDma_TxChStats *pStats)
Get TX channel statistics.
EnetDma_CbStats retrievePktStats
Definition: enet_dma.h:210
int32_t EnetDma_getRxChStats(EnetDma_RxChHandle hRxCh, EnetDma_RxChStats *pStats)
Get RX channel statistics.
This file contains the type definitions and helper macros for the Enet software queue.
uint64_t zeroNotifyCnt
Definition: enet_dma.h:156
uint64_t pktsPerNotifyMax
Definition: enet_dma.h:165
uint64_t txRetrievePktDeq
Definition: enet_dma.h:235
uint64_t txSubmitPktOverFlowCnt
Definition: enet_dma.h:237
int32_t EnetDma_resetRxChStats(EnetDma_RxChHandle hRxCh)
Reset RX channel statistics.
void EnetDma_initPktInfo(EnetDma_Pkt *pktInfo)
Initialize packet information structure.
EnetDma_TxChHandle EnetDma_openTxCh(EnetDma_Handle hDma, const void *pTxChCfg)
Enet DMA open TX channel.
EnetDma_DmaDescStats dmaDescStats
Definition: enet_dma.h:212
EnetDma_DmaDescStats dmaDescStats
Definition: enet_dma.h:231
Enet DMA utility API to check packet and descriptor ownership states during development and debug.
int32_t EnetDma_resetTxChStats(EnetDma_TxChHandle hTxCh)
Reset TX channel statistics.
uint64_t totalCycleCnt
Definition: enet_dma.h:160
void EnetDma_initTxChParams(void *pTxChCfg)
Initialize TX channel open parameters.
EnetDma_Handle EnetDma_initDmaCfg(Enet_Type enetType, uint32_t instId, const EnetDma_initCfg *pDmaCfg)
Initialize data path.
int32_t EnetDma_retrieveRxPktQ(EnetDma_RxChHandle hRxCh, EnetDma_PktQ *pRetrieveQ)
Retrieve queue of RX ready (full) packets from RX channel.
uint64_t underFlowCnt
Definition: enet_dma.h:199
int32_t EnetDma_retrieveRxPkt(EnetDma_RxChHandle hRxCh, EnetDma_Pkt **pPkt)
Retrieve single RX ready (full) packet (single) from RX channel.
int32_t EnetDma_enableRxEvent(EnetDma_RxChHandle hRxCh)
Enable RX channel packet reception event.
int32_t EnetDma_retrieveTxPktQ(EnetDma_TxChHandle hTxCh, EnetDma_PktQ *pRetrieveQ)
Retrieve queue of TX free (empty) packets from TX channel.
EnetDma_CbStats retrievePktStats
Definition: enet_dma.h:229
uint64_t dataNotifyCnt
Definition: enet_dma.h:152
int32_t EnetDma_submitTxPkt(EnetDma_TxChHandle hTxCh, EnetDma_Pkt *pPkt)
Submit a single ready (full) packet to TX channel.
Enet_Type
Ethernet peripheral type.
Definition: enet_types.h:196
EnetDma_Handle EnetDma_open(Enet_Type enetType, uint32_t instId, const void *dmaCfg)
Set default data path parameters.
int32_t EnetDma_submitRxPkt(EnetDma_RxChHandle hRxCh, EnetDma_Pkt *pPkt)
Submit single RX free (empty) packet for reception to RX channel.
struct EnetCpdma_DrvObj_s * EnetDma_Handle
Opaque handle for Enet CPDMA driver object.
Definition: enet_cpdma_types.h:86
void(* EnetDma_FreeEthPktFxn)(EnetDma_Pkt *pPktInfo)
Function pointer type for Ethernet packet free function.
Definition: enet_dma.h:120
int32_t EnetDma_submitRxPktQ(EnetDma_RxChHandle hRxCh, EnetDma_PktQ *pSubmitQ)
Submit queue of RX free (empty) packets for reception to RX channel.
struct EnetCpdma_TxChObj_s * EnetDma_TxChHandle
Opaque handle that holds software state for Enet TX DMA channel.
Definition: enet_cpdma_types.h:97
struct EnetCpdma_PktInfo_s EnetDma_Pkt
Opaque handle that holds software state for Enet Packet Info.
Definition: enet_cpdma_types.h:102
uint64_t cycleCntPerPktMax
Definition: enet_dma.h:177
DMA descriptor stats for the RX & TX channels.
Definition: enet_dma.h:193
EnetDma_CbStats submitPktStats
Definition: enet_dma.h:227
EnetDma_RxChHandle EnetDma_openRxCh(EnetDma_Handle hDma, const void *pRxChCfg)
Enet DMA open RX channel.
uint64_t totalPktCnt
Definition: enet_dma.h:158
Config structure for Enet CPDMA Data Path initialization.
Definition: enet_cpdma.h:432
This file contains the type definitions and helper macros for the Enet CPDMA data path (DMA) interfac...
int32_t EnetDma_closeTxCh(EnetDma_TxChHandle hTxCh, EnetDma_PktQ *fq, EnetDma_PktQ *cq)
Enet DMA close TX channel.
Stats for packets submitted/retrieved in the DMA event callbacks functions.
Definition: enet_dma.h:150
EnetQ EnetDma_PktQ
Packet queue.
Definition: enet_dma.h:131
int32_t EnetDma_disableTxEvent(EnetDma_TxChHandle hTxCh)
Disable TX channel packet transmit completion event.
int32_t EnetDma_closeRxCh(EnetDma_RxChHandle hRxCh, EnetDma_PktQ *fq, EnetDma_PktQ *cq)
Enet DMA close RX channel.
Generic queue.
Definition: enet_queue.h:83
uint64_t rxSubmitPktUnderFlowCnt
Definition: enet_dma.h:218
uint64_t readyDmaDescEnq
Definition: enet_dma.h:195
int32_t EnetDma_deinitDmaCfg(EnetDma_Handle hEnetUdma)
De-initialize data path.
uint64_t cycleCntPerNotifyMax
Definition: enet_dma.h:171