AM64x MCU+ SDK  11.02.00

Detailed Description

UDMA ring object.

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

Data Fields

Udma_DrvHandle drvHandle
 
uint16_t ringNum
 
CSL_RingAccRingCfg cfg
 
volatile CSL_ringacc_cfgRegs_RING * pCfgRegs
 
volatile CSL_ringacc_rtRegs_RINGRT * pRtRegs
 
uintptr_t proxyAddr
 
uint32_t ringInitDone
 
uint32_t mappedRingGrp
 
uint32_t mappedChNum
 

Field Documentation

◆ drvHandle

Udma_DrvHandle Udma_RingObject::drvHandle

Pointer to global driver handle.

◆ ringNum

uint16_t Udma_RingObject::ringNum

Ring number

◆ cfg

CSL_RingAccRingCfg Udma_RingObject::cfg

Ring config

◆ pCfgRegs

volatile CSL_ringacc_cfgRegs_RING* Udma_RingObject::pCfgRegs

Pointer to RA config register overlay

◆ pRtRegs

volatile CSL_ringacc_rtRegs_RINGRT* Udma_RingObject::pRtRegs

Pointer to RA RT config register overlay

◆ proxyAddr

uintptr_t Udma_RingObject::proxyAddr

Proxy address for push/pop ring operation through proxy

◆ ringInitDone

uint32_t Udma_RingObject::ringInitDone

Flag to set the ring object is init.

◆ mappedRingGrp

uint32_t Udma_RingObject::mappedRingGrp

The allocated mapped ring group when channel type is UDMA_CH_TYPE_TX_MAPPED or UDMA_CH_TYPE_RX_MAPPED.

This is needed to free the mapped ring.

Refer Udma_MappedTxGrpSoc macro for details about mapped TX ring groups or Udma_MappedRxGrpSoc macro for details about mapped RX ring groups.

For unmapped case, this will be UDMA_MAPPED_GROUP_INVALID

◆ mappedChNum

uint32_t Udma_RingObject::mappedChNum

The assigned mapped channel number when channel type is UDMA_CH_TYPE_TX_MAPPED or UDMA_CH_TYPE_RX_MAPPED.

This is needed to free the mapped ring.

For unmapped case, this will be UDMA_DMA_CH_INVALID.