AM64x MCU+ SDK  11.02.00

Detailed Description

UDMA channel object.

Note: This is an internal/private driver structure and should not be used or modified by caller.

Data Fields

uint32_t chType
 
Udma_ChPrms chPrms
 
Udma_DrvHandle drvHandle
 
uint32_t txChNum
 
uint32_t rxChNum
 
uint32_t extChNum
 
uint32_t pdmaChNum
 
uint32_t peerThreadId
 
Udma_RingHandle fqRing
 
Udma_RingHandle cqRing
 
Udma_RingHandle tdCqRing
 
Udma_RingObject fqRingObj
 
Udma_RingObject cqRingObj
 
Udma_RingObject tdCqRingObj
 
Udma_FlowHandle defaultFlow
 
Udma_FlowObject defaultFlowObj
 
Udma_ChTxPrms txPrms
 
Udma_ChRxPrms rxPrms
 
volatile CSL_udmap_txccfgRegs_chan * pTxCfgRegs
 
volatile CSL_udmap_txcrtRegs_chan * pTxRtRegs
 
volatile CSL_udmap_rxccfgRegs_chan * pRxCfgRegs
 
volatile CSL_udmap_rxcrtRegs_chan * pRxRtRegs
 
volatile CSL_udmap_txccfgRegs_chan * pExtCfgRegs
 
volatile CSL_udmap_txcrtRegs_chan * pExtRtRegs
 
uint32_t chInitDone
 
uint32_t chOesAllocDone
 
uint32_t trigger
 

Field Documentation

◆ chType

uint32_t Udma_ChObject::chType

UDMA channel type. Refer Udma_ChType.

◆ chPrms

Udma_ChPrms Udma_ChObject::chPrms

Object to store the channel params.

◆ drvHandle

Udma_DrvHandle Udma_ChObject::drvHandle

Pointer to global driver handle.

◆ txChNum

uint32_t Udma_ChObject::txChNum

Allocated TX channel number - this is relative channel number from base TX channel. This is valid only when the channel is opened for TX and block copy mode

◆ rxChNum

uint32_t Udma_ChObject::rxChNum

Allocated RX channel number - this is relative channel number from base RX channel. This is valid only when the channel is opened for RX and block copy mode

◆ extChNum

uint32_t Udma_ChObject::extChNum

Allocated Ext channel number - this is relative channel number from base External channel. This is valid only when the channel is opened for UTC mode

◆ pdmaChNum

uint32_t Udma_ChObject::pdmaChNum

Allocated peer PDMA channel number. This is valid only when the channel is opened for PDMA mode

◆ peerThreadId

uint32_t Udma_ChObject::peerThreadId

Peer channel thread ID - this is or'ed with thread offset.

◆ fqRing

Udma_RingHandle Udma_ChObject::fqRing

Free queue ring handle

◆ cqRing

Udma_RingHandle Udma_ChObject::cqRing

Completion queue ring handle For AM64x kind of devices, where there is no seperate Completion queue, this points to fqRing itself.

◆ tdCqRing

Udma_RingHandle Udma_ChObject::tdCqRing

Teardown completion queue ring handle

◆ fqRingObj

Udma_RingObject Udma_ChObject::fqRingObj

Free queue ring object

◆ cqRingObj

Udma_RingObject Udma_ChObject::cqRingObj

Completion queue ring object Not used for AM64x kind of devices, where there is no seperate Completion queue.

◆ tdCqRingObj

Udma_RingObject Udma_ChObject::tdCqRingObj

Teardown completion queue ring object Not used for AM64x kind of devices, where teardown function is not present.

◆ defaultFlow

Udma_FlowHandle Udma_ChObject::defaultFlow

Default flow handle

◆ defaultFlowObj

Udma_FlowObject Udma_ChObject::defaultFlowObj

Default flow object - Flow ID equal to the RX channel is reserved as the default flow for the channel. This object is used for providing handle to the caller to re-program the default flow using the standard flow API's

◆ txPrms

Udma_ChTxPrms Udma_ChObject::txPrms

TX channel parameter passed during channel config.

◆ rxPrms

Udma_ChRxPrms Udma_ChObject::rxPrms

RX channel parameter passed during channel config.

◆ pTxCfgRegs

volatile CSL_udmap_txccfgRegs_chan* Udma_ChObject::pTxCfgRegs

Pointer to UDMAP TX config register overlay

◆ pTxRtRegs

volatile CSL_udmap_txcrtRegs_chan* Udma_ChObject::pTxRtRegs

Pointer to UDMAP TX RT config register overlay

◆ pRxCfgRegs

volatile CSL_udmap_rxccfgRegs_chan* Udma_ChObject::pRxCfgRegs

Pointer to UDMAP RX config register overlay

◆ pRxRtRegs

volatile CSL_udmap_rxcrtRegs_chan* Udma_ChObject::pRxRtRegs

Pointer to UDMAP RX RT config register overlay

◆ pExtCfgRegs

volatile CSL_udmap_txccfgRegs_chan* Udma_ChObject::pExtCfgRegs

Pointer to UDMAP External config register overlay

◆ pExtRtRegs

volatile CSL_udmap_txcrtRegs_chan* Udma_ChObject::pExtRtRegs

Pointer to UDMAP External RT config register overlay

◆ chInitDone

uint32_t Udma_ChObject::chInitDone

Flag to set the channel object is init.

◆ chOesAllocDone

uint32_t Udma_ChObject::chOesAllocDone

Flag to check if the channel's OES is allocated. This is required because the channel OES is used for chaining as well as for TR event registeration. This allows to check for error when both are requested by user on the same channel

◆ trigger

uint32_t Udma_ChObject::trigger

Channel trigger used when chaining channels - needed at the time of breaking the chaining