69 #define UDMA_RING_INVALID ((uint16_t) TISCI_MSG_VALUE_RM_NULL_RING_TYPE)
74 #define UDMA_RING_ANY ((uint16_t) 0xFFFEU)
79 #define UDMA_RING_MON_INVALID (UDMA_RING_INVALID)
84 #define UDMA_RING_MON_ANY (UDMA_RING_ANY)
89 #define UDMA_RING_VIRTID_INVALID ((uint16_t) 0xFFFFU)
92 #define UDMA_RING_SIZE_CHECK_SKIP (0xABDCABCDU)
97 #define UDMA_RING_ORDERID_MAX (0x0FU)
111 #define UDMA_RING_ES_4BYTES ((uint8_t) 0x00U)
113 #define UDMA_RING_ES_8BYTES ((uint8_t) 0x01U)
115 #define UDMA_RING_ES_16BYTES ((uint8_t) 0x02U)
117 #define UDMA_RING_ES_32BYTES ((uint8_t) 0x03U)
119 #define UDMA_RING_ES_64BYTES ((uint8_t) 0x04U)
121 #define UDMA_RING_ES_128BYTES ((uint8_t) 0x05U)
123 #define UDMA_RING_ES_256BYTES ((uint8_t) 0x06U)
280 Udma_RingHandle ringHandle,
329 Udma_RingHandle ringHandle,
669 Udma_RingMonHandle monHandle,
670 uint16_t ringMonNum);
765 Udma_DrvHandle drvHandle,
766 uint64_t phyDescMem);
768 Udma_DrvHandle drvHandle,
769 uint64_t *phyDescMem);
795 #if (UDMA_SOC_CFG_RA_NORMAL_PRESENT == 1)
796 CSL_RingAccRingCfg cfg;
801 volatile CSL_ringacc_cfgRegs_RING *pCfgRegs;
803 volatile CSL_ringacc_rtRegs_RINGRT *pRtRegs;
806 #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
807 CSL_LcdmaRingaccRingCfg lcdmaCfg;
812 volatile CSL_lcdma_ringacc_ring_cfgRegs_RING *pLcdmaCfgRegs;
814 volatile CSL_lcdma_ringacc_ringrtRegs_ring *pLcdmaRtRegs;
818 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)
867 #if (UDMA_SOC_CFG_RING_MON_PRESENT == 1)
870 volatile CSL_ringacc_monitorRegs_mon *pMonRegs;
uint8_t mode
Definition: udma_ring.h:202
int32_t Udma_ringMonFree(Udma_RingMonHandle monHandle)
UDMA free ring monitor.
int32_t UdmaRingPrms_init(Udma_RingPrms *ringPrms)
Udma_RingPrms structure init function.
uint32_t Udma_ringGetRdIdx(Udma_RingHandle ringHandle)
Returns the ring read index value.
uint8_t source
Definition: udma_ring.h:200
uint32_t data1
Definition: udma_ring.h:243
uint16_t ringNum
Definition: udma_ring.h:204
uint8_t orderId
Definition: udma_ring.h:160
uint32_t data1
Definition: udma_ring.h:216
uint8_t mode
Definition: udma_ring.h:149
int32_t UdmaRingMonPrms_init(Udma_RingMonPrms *monPrms)
Udma_RingMonPrms structure init function.
int32_t Udma_ringDetach(Udma_RingHandle ringHandle)
UDMA detach ring API.
uint32_t Udma_ringGetForwardRingOcc(Udma_RingHandle ringHandle)
Returns the forward ring occupancy.
void * ringMem
Definition: udma_ring.h:135
int32_t Udma_ringMonGetData(Udma_RingMonHandle monHandle, Udma_RingMonData *monData)
UDMA ring monitor get data API.
uint32_t mappedRingGrp
Definition: udma_ring.h:832
int32_t Udma_ringFree(Udma_RingHandle ringHandle)
UDMA free ring.
uint32_t data0
Definition: udma_ring.h:233
void * Udma_ringGetMemPtr(Udma_RingHandle ringHandle)
Returns the ring memory pointer which is passed during ring alloc.
uint16_t ringMonNum
Definition: udma_ring.h:864
int32_t Udma_ringMonConfig(Udma_RingMonHandle monHandle, const Udma_RingMonPrms *monPrms)
UDMA ring monitor configure API.
uint8_t asel
Definition: udma_ring.h:163
uint32_t Udma_ringGetMode(Udma_RingHandle ringHandle)
Returns the ring mode which is configured during ring alloc.
uint32_t data0
Definition: udma_ring.h:206
int32_t Udma_ringAlloc(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint16_t ringNum, const Udma_RingPrms *ringPrms)
UDMA ring allocation and configuration API.
int32_t Udma_ringFlushRaw(Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA dequeue descriptor from a ring when UDMA channel is disabled - raw version (Takes all physical p...
uint32_t mappedRingGrp
Definition: udma_ring.h:171
uint32_t ringMonInitDone
Definition: udma_ring.h:874
void Udma_ringPrime(Udma_RingHandle ringHandle, uint64_t phyDescMem)
UDMA prime descriptor to a exposed/"RING" mode ring - raw version (Takes all physical pointers)....
Udma_DrvHandle drvHandle
Definition: udma_ring.h:789
uint16_t Udma_ringMonGetNum(Udma_RingMonHandle monHandle)
Returns the ring monitor number.
uint8_t elemSize
Definition: udma_ring.h:157
void Udma_ringSetDoorBell(Udma_RingHandle ringHandle, int32_t count)
UDMA ring API to set the doorbell in exposed/"RING" mode ring. This will commit the previously primed...
int32_t Udma_ringProxyDequeueRaw(Udma_RingHandle ringHandle, Udma_DrvHandle drvHandle, uint64_t *phyDescMem)
uint16_t ringNum
Definition: udma_ring.h:792
uint32_t Udma_ringGetWrIdx(Udma_RingHandle ringHandle)
Returns the ring write index value.
int32_t Udma_ringDequeueRaw(Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA dequeue descriptor from a ring - raw version (Takes all physical pointers).
int32_t Udma_ringMonAlloc(Udma_DrvHandle drvHandle, Udma_RingMonHandle monHandle, uint16_t ringMonNum)
UDMA ring monitor allocation API.
uint32_t ringInitDone
Definition: udma_ring.h:829
uint32_t Udma_ringGetReverseRingOcc(Udma_RingHandle ringHandle)
Returns the reverse ring occupancy.
uint32_t elemCnt
Definition: udma_ring.h:153
int32_t Udma_ringQueueRaw(Udma_RingHandle ringHandle, uint64_t phyDescMem)
UDMA queue descriptor to a ring - raw version (Takes all physical pointers)
uint32_t Udma_ringGetElementCnt(Udma_RingHandle ringHandle)
Returns the ring element count which is passed during ring alloc.
uint32_t mappedChNum
Definition: udma_ring.h:180
int32_t Udma_ringAttach(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint16_t ringNum)
UDMA ring attach API. This API is used to attach to an already allocated and configured ring....
uint32_t ringMemSize
Definition: udma_ring.h:142
uint32_t mappedChNum
Definition: udma_ring.h:843
Udma_DrvHandle drvHandle
Definition: udma_ring.h:861
uint16_t virtId
Definition: udma_ring.h:151
int32_t Udma_ringProxyQueueRaw(Udma_RingHandle ringHandle, Udma_DrvHandle drvHandle, uint64_t phyDescMem)
void Udma_ringPrimeRead(Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA read descriptor from a exposed/"RING" mode ring - raw version (Reads physical pointers)....
uint16_t Udma_ringGetNum(Udma_RingHandle ringHandle)
Returns the ring number allocated for this ring.
UDMA ring monitor data.
Definition: udma_ring.h:232
UDMA ring monitor object.
Definition: udma_ring.h:860
UDMA ring monitor parameters.
Definition: udma_ring.h:199
UDMA ring object.
Definition: udma_ring.h:788
UDMA ring parameters.
Definition: udma_ring.h:134