68 #define UDMA_PROXY_INVALID ((uint16_t) 0xFFFFU) 73 #define UDMA_PROXY_ANY ((uint16_t) 0xFFFEU) 120 Udma_ProxyHandle proxyHandle,
187 uint64_t phyDescMem);
209 uint64_t *phyDescMem);
266 #if defined (__aarch64__) || defined (__C7100__) 267 CSL_REG64_WR((uint64_t *) proxyAddr,
data);
271 volatile uint32_t *proxyAddr32 = (
volatile uint32_t *) proxyAddr;
272 uint32_t wordLow, wordHigh;
276 wordLow = (uint32_t)
data;
277 wordHigh = (uint32_t) (
data >> 32U);
278 CSL_REG32_WR(proxyAddr32, wordLow);
279 CSL_REG32_WR(proxyAddr32 + 1U, wordHigh);
287 #if defined (__aarch64__) || defined (__C7100__) 288 *
data = CSL_REG64_RD((uint64_t *) proxyAddr);
292 volatile uint32_t *proxyAddr32 = (
volatile uint32_t *) proxyAddr;
293 uint32_t wordLow, wordHigh;
297 wordLow = CSL_REG32_RD(proxyAddr32);
298 wordHigh = CSL_REG32_RD(proxyAddr32 + 1U);
299 *
data = ((uint64_t) wordLow) | (((uint64_t) wordHigh) << 32U);
312 uint64_t *phyDescMem)
static void Udma_proxyQueue(Udma_ProxyHandle proxyHandle, uint64_t phyDescMem)
UDMA queue descriptor to a proxy which is pre-configured to queue to a ring.
Definition: udma_proxy.h:305
uint32_t proxyInitDone
Definition: udma_proxy.h:256
uint16_t proxyNum
Definition: udma_proxy.h:248
uint32_t elemSize
Definition: udma_proxy.h:87
uint16_t ringNum
Definition: udma_proxy.h:90
int32_t Udma_proxyFree(Udma_ProxyHandle proxyHandle)
UDMA free proxy.
uint32_t proxyMode
Definition: udma_proxy.h:85
static void Udma_proxyDequeue(Udma_ProxyHandle proxyHandle, uint64_t *phyDescMem)
UDMA dequeue descriptor from a proxy which is pre-configured to dequeue from a ring.
Definition: udma_proxy.h:311
Udma_DrvHandle drvHandle
Definition: udma_proxy.h:246
UDMA proxy object.
Definition: udma_proxy.h:244
uint32_t data[13]
Definition: csl_udmap_tr.h:628
static void Udma_proxyWrite64(uintptr_t proxyAddr, uint64_t data)
API to write 64-bit data to proxy.
Definition: udma_proxy.h:264
int32_t Udma_proxyConfig(Udma_ProxyHandle proxyHandle, const Udma_ProxyCfg *proxyCfg)
UDMA proxy config API.
This structure contains configuration parameters for each proxy thread.
Definition: udma_proxy.h:83
int32_t Udma_proxyAlloc(Udma_DrvHandle drvHandle, Udma_ProxyHandle proxyHandle, uint16_t proxyNum)
UDMA proxy allocation API.
uintptr_t proxyAddr
Definition: udma_proxy.h:253
static void Udma_proxyRead64(uintptr_t proxyAddr, uint64_t *data)
API to read 64-bit data from proxy.
Definition: udma_proxy.h:285