PDK API Guide for J721E
Udma_DrvHandle Struct Reference

Detailed Description

UDMA driver object.

UDMA driver handle.

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

Data Fields

uint32_t instType
 
uint32_t raType
 
CSL_IntaggrCfg iaRegs
 
uint32_t udmapSrcThreadOffset
 
uint32_t udmapDestThreadOffset
 
uint32_t maxRings
 
uint32_t maxProxy
 
uint32_t maxRingMon
 
uint16_t devIdRing
 
uint16_t devIdUdma
 
uint16_t devIdPsil
 
uint16_t devIdIa
 
uint16_t devIdIr
 
uint16_t devIdCore
 
uint16_t srcIdRingIrq
 
uint32_t blkCopyRingIrqOffset
 
uint32_t txRingIrqOffset
 
uint32_t rxRingIrqOffset
 
uint16_t srcIdTrIrq
 
uint32_t blkCopyTrIrqOffset
 
uint32_t txTrIrqOffset
 
uint32_t rxTrIrqOffset
 
uint32_t txChOffset
 
uint32_t extChOffset
 
uint32_t rxChOffset
 
uint32_t iaGemOffset
 
uint32_t trigGemOffset
 
struct Udma_EventObj globalEventObj
 
Udma_EventHandle globalEventHandle
 
Udma_InitPrms initPrms
 
uint32_t drvInitDone
 
uint32_t blkCopyChFlag [UDMA_RM_BLK_COPY_CH_ARR_SIZE]
 
uint32_t blkCopyHcChFlag [UDMA_RM_BLK_COPY_HC_CH_ARR_SIZE]
 
uint32_t blkCopyUhcChFlag [UDMA_RM_BLK_COPY_UHC_CH_ARR_SIZE]
 
uint32_t txChFlag [UDMA_RM_TX_CH_ARR_SIZE]
 
uint32_t txHcChFlag [UDMA_RM_TX_HC_CH_ARR_SIZE]
 
uint32_t txUhcChFlag [UDMA_RM_TX_UHC_CH_ARR_SIZE]
 
uint32_t rxChFlag [UDMA_RM_RX_CH_ARR_SIZE]
 
uint32_t rxHcChFlag [UDMA_RM_RX_HC_CH_ARR_SIZE]
 
uint32_t rxUhcChFlag [UDMA_RM_RX_UHC_CH_ARR_SIZE]
 
uint32_t freeRingFlag [UDMA_RM_FREE_RING_ARR_SIZE]
 
uint32_t freeFlowFlag [UDMA_RM_FREE_FLOW_ARR_SIZE]
 
uint32_t globalEventFlag [UDMA_RM_GLOBAL_EVENT_ARR_SIZE]
 
uint32_t vintrFlag [UDMA_RM_VINTR_ARR_SIZE]
 
uint32_t irIntrFlag [UDMA_RM_IR_INTR_ARR_SIZE]
 
uint32_t proxyFlag [UDMA_RM_PROXY_ARR_SIZE]
 
uint32_t ringMonFlag [UDMA_RM_RING_MON_ARR_SIZE]
 
void * rmLock
 
void * printLock
 
char printBuf [UDMA_CFG_PRINT_BUF_LEN]
 
Udma_ringDequeueRawFxn ringDequeueRaw
 
Udma_ringQueueRawFxn ringQueueRaw
 
Udma_ringFlushRawFxn ringFlushRaw
 
Udma_ringGetElementCntFxn ringGetElementCnt
 
Udma_ringGetMemPtrFxn ringGetMemPtr
 
Udma_ringGetModeFxn ringGetMode
 
Udma_ringGetForwardRingOccFxn ringGetForwardRingOcc
 
Udma_ringGetReverseRingOccFxn ringGetReverseRingOcc
 
Udma_ringGetWrIdxFxn ringGetWrIdx
 
Udma_ringGetRdIdxFxn ringGetRdIdx
 
Udma_ringPrimeFxn ringPrime
 
Udma_ringPrimeReadFxn ringPrimeRead
 
Udma_ringSetDoorBellFxn ringSetDoorBell
 
Udma_ringSetCfgFxn ringSetCfg
 
Udma_ringHandleClearRegsFxn ringHandleClearRegs
 

Field Documentation

◆ instType

uint32_t Udma_DrvHandle::instType

Udma Instance Type

◆ raType

uint32_t Udma_DrvHandle::raType

Udma Ring Accelerator Type RA register configuration

◆ iaRegs

CSL_IntaggrCfg Udma_DrvHandle::iaRegs

Interrupt Aggregator configuration

◆ udmapSrcThreadOffset

uint32_t Udma_DrvHandle::udmapSrcThreadOffset

UDMAP Source/TX thread offset

◆ udmapDestThreadOffset

uint32_t Udma_DrvHandle::udmapDestThreadOffset

UDMAP Dest/RX thread offset

◆ maxRings

uint32_t Udma_DrvHandle::maxRings

Maximun number of rings present in the NAVSS instance

◆ maxProxy

uint32_t Udma_DrvHandle::maxProxy

Maximun number of proxy present in the NAVSS instance

◆ maxRingMon

uint32_t Udma_DrvHandle::maxRingMon

Maximun number of ring monitors present in the NAVSS instance

◆ devIdRing

uint16_t Udma_DrvHandle::devIdRing

Ring RM ID

◆ devIdUdma

uint16_t Udma_DrvHandle::devIdUdma

UDMA RM ID

◆ devIdPsil

uint16_t Udma_DrvHandle::devIdPsil

PSIL RM ID

◆ devIdIa

uint16_t Udma_DrvHandle::devIdIa

IA RM ID

◆ devIdIr

uint16_t Udma_DrvHandle::devIdIr

IR RM ID

◆ devIdCore

uint16_t Udma_DrvHandle::devIdCore

Core RM ID

◆ srcIdRingIrq

uint16_t Udma_DrvHandle::srcIdRingIrq

Ring completion event IRQ Source ID.

◆ blkCopyRingIrqOffset

uint32_t Udma_DrvHandle::blkCopyRingIrqOffset

Block Copy channel ring completion event IRQ offset.

◆ txRingIrqOffset

uint32_t Udma_DrvHandle::txRingIrqOffset

TX channel ring completion event IRQ offset.

◆ rxRingIrqOffset

uint32_t Udma_DrvHandle::rxRingIrqOffset

RX channel ring completion event IRQ offset.

◆ srcIdTrIrq

uint16_t Udma_DrvHandle::srcIdTrIrq

TR event IRQ Source ID.

◆ blkCopyTrIrqOffset

uint32_t Udma_DrvHandle::blkCopyTrIrqOffset

Block Copy channel TR event IRQ offset.

◆ txTrIrqOffset

uint32_t Udma_DrvHandle::txTrIrqOffset

TX channel TR event IRQ offset.

◆ rxTrIrqOffset

uint32_t Udma_DrvHandle::rxTrIrqOffset

RX channel TR event IRQ offset.

◆ txChOffset

uint32_t Udma_DrvHandle::txChOffset

TX channel offset.

◆ extChOffset

uint32_t Udma_DrvHandle::extChOffset

External channel offset.

◆ rxChOffset

uint32_t Udma_DrvHandle::rxChOffset

RX channel offset.

◆ iaGemOffset

uint32_t Udma_DrvHandle::iaGemOffset

IA global event map offset to differentiate between main and MCU NAVSS

◆ trigGemOffset

uint32_t Udma_DrvHandle::trigGemOffset

UDMAP trigger global event map offset to differentiate between main and MCU NAVSS

◆ globalEventObj

struct Udma_EventObj Udma_DrvHandle::globalEventObj

Object to store global event.

◆ globalEventHandle

Udma_EventHandle Udma_DrvHandle::globalEventHandle

Global event handle.

◆ initPrms

Udma_InitPrms Udma_DrvHandle::initPrms

Object to store the init params.

◆ drvInitDone

uint32_t Udma_DrvHandle::drvInitDone

Flag to check if the driver object is init properly or not.

◆ blkCopyChFlag

uint32_t Udma_DrvHandle::blkCopyChFlag[UDMA_RM_BLK_COPY_CH_ARR_SIZE]

UDMA Block copy channel allocation flag

◆ blkCopyHcChFlag

uint32_t Udma_DrvHandle::blkCopyHcChFlag[UDMA_RM_BLK_COPY_HC_CH_ARR_SIZE]

UDMA high capacity Block copy channel allocation flag

◆ blkCopyUhcChFlag

uint32_t Udma_DrvHandle::blkCopyUhcChFlag[UDMA_RM_BLK_COPY_UHC_CH_ARR_SIZE]

UDMA ultra high capacity Block copy channel allocation flag

◆ txChFlag

uint32_t Udma_DrvHandle::txChFlag[UDMA_RM_TX_CH_ARR_SIZE]

UDMA TX channel allocation flag

◆ txHcChFlag

uint32_t Udma_DrvHandle::txHcChFlag[UDMA_RM_TX_HC_CH_ARR_SIZE]

UDMA high capacity TX channel allocation flag

◆ txUhcChFlag

uint32_t Udma_DrvHandle::txUhcChFlag[UDMA_RM_TX_UHC_CH_ARR_SIZE]

UDMA ultra high capacity TX channel allocation flag

◆ rxChFlag

uint32_t Udma_DrvHandle::rxChFlag[UDMA_RM_RX_CH_ARR_SIZE]

UDMA RX channel allocation flag

◆ rxHcChFlag

uint32_t Udma_DrvHandle::rxHcChFlag[UDMA_RM_RX_HC_CH_ARR_SIZE]

UDMA high capacity RX channel allocation flag

◆ rxUhcChFlag

uint32_t Udma_DrvHandle::rxUhcChFlag[UDMA_RM_RX_UHC_CH_ARR_SIZE]

UDMA ultra high capacity RX channel allocation flag

◆ freeRingFlag

uint32_t Udma_DrvHandle::freeRingFlag[UDMA_RM_FREE_RING_ARR_SIZE]

UDMA free ring allocation flag

◆ freeFlowFlag

uint32_t Udma_DrvHandle::freeFlowFlag[UDMA_RM_FREE_FLOW_ARR_SIZE]

UDMA free flow allocation flag

◆ globalEventFlag

uint32_t Udma_DrvHandle::globalEventFlag[UDMA_RM_GLOBAL_EVENT_ARR_SIZE]

IA global event allocation flag

◆ vintrFlag

uint32_t Udma_DrvHandle::vintrFlag[UDMA_RM_VINTR_ARR_SIZE]

IA VINTR allocation flag

◆ irIntrFlag

uint32_t Udma_DrvHandle::irIntrFlag[UDMA_RM_IR_INTR_ARR_SIZE]

IR interrupt allocation flag

◆ proxyFlag

uint32_t Udma_DrvHandle::proxyFlag[UDMA_RM_PROXY_ARR_SIZE]

UDMA proxy allocation flag

◆ ringMonFlag

uint32_t Udma_DrvHandle::ringMonFlag[UDMA_RM_RING_MON_ARR_SIZE]

UDMA ring monitor allocation flag

◆ rmLock

void* Udma_DrvHandle::rmLock

Mutex to protect RM allocation.

◆ printLock

void* Udma_DrvHandle::printLock

Mutex to protect print buffer.

◆ printBuf

char Udma_DrvHandle::printBuf[UDMA_CFG_PRINT_BUF_LEN]

Print buffer

◆ ringDequeueRaw

Udma_ringDequeueRawFxn Udma_DrvHandle::ringDequeueRaw

UDMA Ring dequeue raw function pointer

◆ ringQueueRaw

Udma_ringQueueRawFxn Udma_DrvHandle::ringQueueRaw

UDMA Ring queue raw function pointer

◆ ringFlushRaw

Udma_ringFlushRawFxn Udma_DrvHandle::ringFlushRaw

UDMA Ring flush raw function pointer

◆ ringGetElementCnt

Udma_ringGetElementCntFxn Udma_DrvHandle::ringGetElementCnt

UDMA Ring get element count function pointer

◆ ringGetMemPtr

Udma_ringGetMemPtrFxn Udma_DrvHandle::ringGetMemPtr

UDMA Ring get mem pointer function pointer

◆ ringGetMode

Udma_ringGetModeFxn Udma_DrvHandle::ringGetMode

UDMA Ring get ring mode function pointer

◆ ringGetForwardRingOcc

Udma_ringGetForwardRingOccFxn Udma_DrvHandle::ringGetForwardRingOcc

UDMA Ring get forward ring occupancy function pointer

◆ ringGetReverseRingOcc

Udma_ringGetReverseRingOccFxn Udma_DrvHandle::ringGetReverseRingOcc

UDMA Ring get reverse ring occupancy function pointer

◆ ringGetWrIdx

Udma_ringGetWrIdxFxn Udma_DrvHandle::ringGetWrIdx

UDMA Ring get write index value function pointer

◆ ringGetRdIdx

Udma_ringGetRdIdxFxn Udma_DrvHandle::ringGetRdIdx

UDMA Ring get read index value function pointer

◆ ringPrime

Udma_ringPrimeFxn Udma_DrvHandle::ringPrime

UDMA Ring prime function pointer

◆ ringPrimeRead

Udma_ringPrimeReadFxn Udma_DrvHandle::ringPrimeRead

UDMA Ring prime read function pointer

◆ ringSetDoorBell

Udma_ringSetDoorBellFxn Udma_DrvHandle::ringSetDoorBell

UDMA Ring set doorbell function pointer

◆ ringSetCfg

Udma_ringSetCfgFxn Udma_DrvHandle::ringSetCfg

UDMA Ring set Cfg function pointer

◆ ringHandleClearRegs

Udma_ringHandleClearRegsFxn Udma_DrvHandle::ringHandleClearRegs

UDMA Ring handle clear register function pointer