PSDK QNX API Guide
udma.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Texas Instruments Incorporated 2018
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
38 /* @} */
39 
56 #ifndef UDMA_H_
57 #define UDMA_H_
58 
59 /* ========================================================================== */
60 /* Include Files */
61 /* ========================================================================== */
62 
63 #ifndef QNX_OS
64 #define QNX_OS
65 #endif
66 
67 #ifndef BUILD_MPU1_0
68 #define BUILD_MPU1_0
69 #endif
70 
71 #include <stdint.h>
72 
73 /* UDMA_SOC_CFG_* macros are defined udma_soc.h.
74  * So including this first
75  */
76 #include <ti/drv/udma/soc/udma_soc.h>
77 
78 #include <ti/csl/soc.h>
79 #include <ti/csl/csl_psilcfg.h>
80 #if (UDMA_SOC_CFG_RA_NORMAL_PRESENT == 1)
81 #include <ti/csl/csl_ringacc.h>
82 #endif
83 #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
84 #include <ti/csl/csl_lcdma_ringacc.h>
85 #endif
86 #if (UDMA_SOC_CFG_UDMAP_PRESENT == 1)
87 #include <ti/csl/csl_udmap.h>
88 #endif
89 #if (UDMA_SOC_CFG_BCDMA_PRESENT == 1)
90 #include <ti/csl/csl_bcdma.h>
91 #if (UDMA_SOC_CFG_PKTDMA_PRESENT == 1)
92 #include <ti/csl/csl_pktdma.h>
93 #include <ti/csl/src/ip/udmap/V0/csl_udmap_cppi5.h>
94 #endif
95 #endif
96 #include <ti/csl/csl_intaggr.h>
97 #include <ti/csl/csl_intr_router.h>
98 #if (UDMA_NUM_UTC_INSTANCE > 0)
99 #include <ti/csl/csl_dru.h>
100 #endif
101 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)
102 #include <ti/csl/csl_proxy.h>
103 #endif
104 #if (UDMA_SOC_CFG_CLEC_PRESENT == 1)
105 #include <ti/csl/csl_clec.h>
106 #endif
107 
108 #include <ti/osal/osal.h>
110 
113 #include <ti/drv/udma/include/udma_osal.h>
120 #if (UDMA_NUM_UTC_INSTANCE > 0)
122 #endif
124 
125 #ifdef QNX_OS
126 #include <unistd.h>
127 #endif
128 
129 #ifdef __cplusplus
130 extern "C" {
131 #endif
132 
133 /* ========================================================================== */
134 /* Macros & Typedefs */
135 /* ========================================================================== */
136 
149 typedef uint64_t (*Udma_VirtToPhyFxn)(const void *virtAddr,
150  uint32_t chNum,
151  void *appData);
164 typedef void *(*Udma_PhyToVirtFxn)(uint64_t phyAddr,
165  uint32_t chNum,
166  void *appData);
167 
175 typedef void (*Udma_PrintFxn)(const char *str);
176 
188 typedef void (*Udma_ringHandleClearRegsFxn)(Udma_RingHandle ringHandle);
190 typedef void (*Udma_ringSetDoorBellFxn)(Udma_RingHandle ringHandle,
191  int32_t count);
193 typedef void (*Udma_ringPrimeFxn)(Udma_RingHandle ringHandle,
194  uint64_t phyDescMem);
196 typedef void (*Udma_ringPrimeReadFxn)(Udma_RingHandle ringHandle,
197  uint64_t *phyDescMem);
199 typedef void *(*Udma_ringGetMemPtrFxn)(Udma_RingHandle ringHandle);
201 typedef uint32_t (*Udma_ringGetModeFxn)(Udma_RingHandle ringHandle);
203 typedef uint32_t (*Udma_ringGetElementCntFxn)(Udma_RingHandle ringHandle);
205 typedef uint32_t (*Udma_ringGetForwardRingOccFxn)(Udma_RingHandle ringHandle);
207 typedef uint32_t (*Udma_ringGetReverseRingOccFxn)(Udma_RingHandle ringHandle);
209 typedef uint32_t (*Udma_ringGetWrIdxFxn)(Udma_RingHandle ringHandle);
211 typedef uint32_t (*Udma_ringGetRdIdxFxn)(Udma_RingHandle ringHandle);
213 typedef int32_t (*Udma_ringDequeueRawFxn)(Udma_DrvHandle drvHandle,
214  Udma_RingHandle ringHandle,
215  uint64_t *phyDescMem);
217 typedef int32_t (*Udma_ringQueueRawFxn)(Udma_DrvHandle drvHandle,
218  Udma_RingHandle ringHandle,
219  uint64_t phyDescMem);
221 typedef int32_t (*Udma_ringFlushRawFxn)(Udma_DrvHandle drvHandle,
222  Udma_RingHandle ringHandle,
223  uint64_t *phyDescMem);
225 typedef void (*Udma_ringSetCfgFxn)(Udma_DrvHandle drvHandle,
226  Udma_RingHandle ringHandle,
227  const Udma_RingPrms *ringPrms);
228 /* @} */
229 
230 /* ========================================================================== */
231 /* Structure Declarations */
232 /* ========================================================================== */
233 
239 typedef struct
240 {
241  uint32_t instId;
276  Udma_OsalPrms osalPrms;
279 #ifdef QNX_OS
280  uint32_t isQnxRMInstance;
283  uint32_t intrPriority;
285 #endif
286 } Udma_InitPrms;
287 
288 /* ========================================================================== */
289 /* Function Declarations */
290 /* ========================================================================== */
291 
311 int32_t Udma_init(Udma_DrvHandle drvHandle, const Udma_InitPrms *initPrms);
312 
326 int32_t Udma_deinit(Udma_DrvHandle drvHandle);
327 
328 /*
329  * Structure Init functions
330  *
331  * Requirement: DOX_REQ_TAG(PDK-2600)
332  */
359 int32_t UdmaInitPrms_init(uint32_t instId, Udma_InitPrms *initPrms);
360 
361 /* ========================================================================== */
362 /* Internal Function Declarations (Needed for other static inlines) */
363 /* ========================================================================== */
364 
380 static inline uint64_t Udma_defaultVirtToPhyFxn(const void *virtAddr,
381  uint32_t chNum,
382  void *appData);
383 
399 static inline void *Udma_defaultPhyToVirtFxn(uint64_t phyAddr,
400  uint32_t chNum,
401  void *appData);
402 
403 /* ========================================================================== */
404 /* Static Function Definitions */
405 /* ========================================================================== */
406 
407 static uint64_t Udma_defaultVirtToPhyFxn(const void *virtAddr,
408  uint32_t chNum,
409  void *appData)
410 {
411  return ((uint64_t) virtAddr);
412 }
413 
414 static void *Udma_defaultPhyToVirtFxn(uint64_t phyAddr,
415  uint32_t chNum,
416  void *appData)
417 {
418 #if defined (__aarch64__)
419  uint64_t temp = phyAddr;
420 #else
421  /* R5 is 32-bit machine, need to truncate to avoid void * typecast error */
422  uint32_t temp = (uint32_t) phyAddr;
423 #endif
424 
425  return ((void *) temp);
426 }
427 
428 /* ========================================================================== */
429 /* Internal/Private Structure Declarations */
430 /* ========================================================================== */
431 
439 {
440  uint32_t instType;
442  uint32_t raType;
445 #if (UDMA_SOC_CFG_UDMAP_PRESENT == 1)
446  /*
447  * NAVSS instance parameters
448  */
449  CSL_UdmapCfg udmapRegs;
451 #endif
452 #if (UDMA_SOC_CFG_BCDMA_PRESENT == 1)
453  CSL_BcdmaCfg bcdmaRegs;
455 #endif
456 #if (UDMA_SOC_CFG_PKTDMA_PRESENT == 1)
457  CSL_PktdmaCfg pktdmaRegs;
459 #endif
460 #if (UDMA_SOC_CFG_RA_NORMAL_PRESENT == 1)
461  CSL_RingAccCfg raRegs;
462 #endif
463 #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
464  CSL_LcdmaRingaccCfg lcdmaRaRegs;
465 #endif
467  CSL_IntaggrCfg iaRegs;
469 #if (UDMA_NUM_UTC_INSTANCE > 0)
470  Udma_UtcInstInfo utcInfo[UDMA_NUM_UTC_INSTANCE];
472 #endif
477  uint32_t maxRings;
479  uint32_t maxProxy;
481  uint32_t maxRingMon;
484 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)
485  /*
486  * Proxy parameters
487  */
488  CSL_ProxyCfg proxyCfg;
489  /*< Proxy register configuration */
490  CSL_ProxyTargetParams proxyTargetRing;
491  /*< Proxy ring target register configuration */
492  uint32_t proxyTargetNumRing;
493  /*< Proxy ring target index */
494 #endif
495 
496 #if (UDMA_SOC_CFG_CLEC_PRESENT == 1)
497  /*
498  * Clec parameters
499  */
500  CSL_CLEC_EVTRegs *clecRegs;
502  uint32_t clecRtMap;
505  uint32_t clecOffset;
507 #endif
508 
509  /*
510  * TISCI RM parameters
511  */
512  uint16_t devIdRing;
514  uint16_t devIdUdma;
516  uint16_t devIdPsil;
518  uint16_t devIdIa;
520  uint16_t devIdIr;
524 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)
525  uint16_t devIdProxy;
527 #endif
528  uint16_t devIdCore;
530 #if (UDMA_NUM_UTC_INSTANCE > 0)
531  uint32_t druCoreId;
536 #endif
537  /*
538  * TISCI Ring event IRQ params
539  *
540  * These IRQ offsets should be corresponding TISCI offset - ringNum Offset
541  */
542  uint16_t srcIdRingIrq;
546  uint16_t txRingIrqOffset;
548  uint16_t rxRingIrqOffset;
550  /*
551  * TISCI TR event IRQ params
552  *
553  * These IRQ offsets should be corresponding TISCI offset - chNum Offset
554  */
555  uint16_t srcIdTrIrq;
559  uint16_t txTrIrqOffset;
561  uint16_t rxTrIrqOffset;
563  /*
564  * Channel Offsets
565  */
566  uint32_t txChOffset;
568  uint32_t extChOffset;
570  uint32_t rxChOffset;
572  /*
573  * The driver allocates ringNum = chNum (for BlkCpoy)
574  = chNum + txChOffset (for SplitTR Tx)
575  = chNum + rxChOffset (for SplitTR Rx)
576 
577  For CSL_bcdma* API's passed param ->channel_num = txChNum (for BlkCopy)
578  = txChNum + txChOffset (for SplitTR Tx)
579  = rxChNum + rxChOffset (for SplitTR Rx)
580  */
581  /*
582  * Other Offsets
583  */
584  uint32_t iaGemOffset;
586  uint32_t trigGemOffset;
592  Udma_EventHandle globalEventHandle;
597  uint32_t drvInitDone;
600  /*
601  * RM objects.
602  * This is a bitwise flag
603  * 1 - free, 0 - allocated
604  */
617 
626 #if (UDMA_NUM_UTC_INSTANCE > 0)
627  uint32_t utcChFlag[UDMA_NUM_UTC_INSTANCE][UDMA_RM_UTC_CH_ARR_SIZE];
629 #endif
630 #if (UDMA_NUM_MAPPED_TX_GROUP > 0)
631  uint32_t mappedTxChFlag[UDMA_NUM_MAPPED_TX_GROUP][UDMA_RM_MAPPED_TX_CH_ARR_SIZE];
633 #endif
634 #if (UDMA_NUM_MAPPED_RX_GROUP > 0)
635  uint32_t mappedRxChFlag[UDMA_NUM_MAPPED_RX_GROUP][UDMA_RM_MAPPED_RX_CH_ARR_SIZE];
637 #endif
638 #if ((UDMA_NUM_MAPPED_TX_GROUP + UDMA_NUM_MAPPED_RX_GROUP) > 0)
639  uint32_t mappedRingFlag[UDMA_NUM_MAPPED_TX_GROUP + UDMA_NUM_MAPPED_RX_GROUP][UDMA_RM_MAPPED_RING_ARR_SIZE];
641 #endif
642 
654 #ifdef QNX_OS
655  pid_t proxyPids[4];
656 #endif
661  void *rmLock;
663  void *printLock;
668  /*
669  * UDMA Ring Local API's function pointers
670  * For Normal RA / LCDMA RA, these function pointers are used
671  * to call the appropriate function.
672  */
703 };
704 
705 #ifdef __cplusplus
706 }
707 #endif
708 
709 #endif /* #ifndef UDMA_H_ */
710 
711 /* @} */
int32_t(* Udma_ringFlushRawFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA Ring flush raw function prototype.
Definition: udma.h:221
uint32_t trigGemOffset
Definition: udma.h:586
uint16_t blkCopyTrIrqOffset
Definition: udma.h:557
pid_t proxyPids[4]
Definition: udma.h:655
int32_t(* Udma_ringDequeueRawFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA Ring dequeue raw function prototype.
Definition: udma.h:213
Udma_ringGetRdIdxFxn ringGetRdIdx
Definition: udma.h:691
uint32_t(* Udma_ringGetModeFxn)(Udma_RingHandle ringHandle)
UDMA Ring get ring mode function prototype.
Definition: udma.h:201
uint16_t rxTrIrqOffset
Definition: udma.h:561
uint32_t txUhcChFlag[UDMA_RM_TX_UHC_CH_ARR_SIZE]
Definition: udma.h:616
static void * Udma_defaultPhyToVirtFxn(uint64_t phyAddr, uint32_t chNum, void *appData)
Default physical to virtual translation function.
Definition: udma.h:414
uint32_t(* Udma_ringGetWrIdxFxn)(Udma_RingHandle ringHandle)
UDMA Ring get write index value function prototype.
Definition: udma.h:209
Udma_ringSetCfgFxn ringSetCfg
Definition: udma.h:699
uint16_t devIdIr
Definition: udma.h:520
void *(* Udma_ringGetMemPtrFxn)(Udma_RingHandle ringHandle)
UDMA Ring get mem pointer function prototype.
Definition: udma.h:199
Udma_VirtToPhyFxn virtToPhyFxn
Definition: udma.h:256
void(* Udma_ringPrimeFxn)(Udma_RingHandle ringHandle, uint64_t phyDescMem)
UDMA Ring prime function prototype.
Definition: udma.h:193
uint16_t txTrIrqOffset
Definition: udma.h:559
uint16_t devIdCore
Definition: udma.h:528
Udma_EventHandle globalEventHandle
Definition: udma.h:592
void * rmLock
Definition: udma.h:661
uint32_t instId
Definition: udma.h:241
CSL_IntaggrCfg iaRegs
Definition: udma.h:467
uint32_t skipRmOverlapCheck
Definition: udma.h:246
int32_t Udma_deinit(Udma_DrvHandle drvHandle)
UDMA deinit function.
Udma_ringGetElementCntFxn ringGetElementCnt
Definition: udma.h:679
uint32_t raType
Definition: udma.h:442
uint32_t maxRingMon
Definition: udma.h:481
void(* Udma_ringPrimeReadFxn)(Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA Ring prime read function prototype.
Definition: udma.h:196
Udma_ringGetReverseRingOccFxn ringGetReverseRingOcc
Definition: udma.h:687
uint16_t rxRingIrqOffset
Definition: udma.h:548
uint32_t proxyFlag[UDMA_RM_PROXY_ARR_SIZE]
Definition: udma.h:653
uint32_t freeRingFlag[UDMA_RM_FREE_RING_ARR_SIZE]
Definition: udma.h:643
uint32_t blkCopyHcChFlag[UDMA_RM_BLK_COPY_HC_CH_ARR_SIZE]
Definition: udma.h:607
void * printLock
Definition: udma.h:663
uint32_t isQnxRMInstance
Definition: udma.h:280
int32_t(* Udma_ringQueueRawFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t phyDescMem)
UDMA Ring queue raw function prototype.
Definition: udma.h:217
Udma_OsalPrms osalPrms
Definition: udma.h:276
uint32_t(* Udma_ringGetRdIdxFxn)(Udma_RingHandle ringHandle)
UDMA Ring get read index value function prototype.
Definition: udma.h:211
uint32_t extChOffset
Definition: udma.h:568
void(* Udma_PrintFxn)(const char *str)
UDMA info/debug print function prototype.
Definition: udma.h:175
Udma_ringFlushRawFxn ringFlushRaw
Definition: udma.h:677
uint32_t irIntrFlag[UDMA_RM_IR_INTR_ARR_SIZE]
Definition: udma.h:651
Udma_ringQueueRawFxn ringQueueRaw
Definition: udma.h:675
uint16_t devIdRing
Definition: udma.h:512
uint32_t(* Udma_ringGetForwardRingOccFxn)(Udma_RingHandle ringHandle)
UDMA Ring get forward ring occupancy function prototype.
Definition: udma.h:205
uint32_t maxRings
Definition: udma.h:477
uint32_t drvInitDone
Definition: udma.h:597
uint32_t rxChFlag[UDMA_RM_RX_CH_ARR_SIZE]
Definition: udma.h:619
Udma_ringPrimeReadFxn ringPrimeRead
Definition: udma.h:695
uint32_t freeFlowFlag[UDMA_RM_FREE_FLOW_ARR_SIZE]
Definition: udma.h:645
uint16_t srcIdTrIrq
Definition: udma.h:555
void *(* Udma_PhyToVirtFxn)(uint64_t phyAddr, uint32_t chNum, void *appData)
UDMA Physical to Virtual address translation callback function.
Definition: udma.h:164
uint16_t devIdDummyEvtSrc
Definition: udma.h:522
static uint64_t Udma_defaultVirtToPhyFxn(const void *virtAddr, uint32_t chNum, void *appData)
Default virtual to physical translation function.
Definition: udma.h:407
uint16_t txRingIrqOffset
Definition: udma.h:546
Udma_ringGetWrIdxFxn ringGetWrIdx
Definition: udma.h:689
Udma_RmInitPrms rmInitPrms
Definition: udma.h:244
uint16_t devIdUdma
Definition: udma.h:514
uint32_t blkCopyUhcChFlag[UDMA_RM_BLK_COPY_UHC_CH_ARR_SIZE]
Definition: udma.h:609
uint32_t skipGlobalEventReg
Definition: udma.h:250
uint32_t udmapDestThreadOffset
Definition: udma.h:475
uint32_t rxUhcChFlag[UDMA_RM_RX_UHC_CH_ARR_SIZE]
Definition: udma.h:623
Udma_PrintFxn printFxn
Definition: udma.h:272
uint64_t(* Udma_VirtToPhyFxn)(const void *virtAddr, uint32_t chNum, void *appData)
UDMA Virtual to Physical address translation callback function.
Definition: udma.h:149
uint16_t devIdPsil
Definition: udma.h:516
int32_t Udma_init(Udma_DrvHandle drvHandle, const Udma_InitPrms *initPrms)
UDMA init function.
uint32_t(* Udma_ringGetReverseRingOccFxn)(Udma_RingHandle ringHandle)
UDMA Ring get reverse ring occupancy function prototype.
Definition: udma.h:207
uint32_t rxHcChFlag[UDMA_RM_RX_HC_CH_ARR_SIZE]
Definition: udma.h:621
Udma_ringGetForwardRingOccFxn ringGetForwardRingOcc
Definition: udma.h:685
uint16_t blkCopyRingIrqOffset
Definition: udma.h:544
void(* Udma_ringSetDoorBellFxn)(Udma_RingHandle ringHandle, int32_t count)
UDMA Ring set doorbell function prototype.
Definition: udma.h:190
uint32_t txHcChFlag[UDMA_RM_TX_HC_CH_ARR_SIZE]
Definition: udma.h:614
uint32_t udmapSrcThreadOffset
Definition: udma.h:473
Udma_ringSetDoorBellFxn ringSetDoorBell
Definition: udma.h:697
Udma_InitPrms initPrms
Definition: udma.h:595
uint32_t blkCopyChFlag[UDMA_RM_BLK_COPY_CH_ARR_SIZE]
Definition: udma.h:605
uint32_t txChFlag[UDMA_RM_TX_CH_ARR_SIZE]
Definition: udma.h:612
uint32_t instType
Definition: udma.h:440
uint32_t vintrFlag[UDMA_RM_VINTR_ARR_SIZE]
Definition: udma.h:649
uint32_t maxProxy
Definition: udma.h:479
uint32_t ringMonFlag[UDMA_RM_RING_MON_ARR_SIZE]
Definition: udma.h:658
uint16_t srcIdRingIrq
Definition: udma.h:542
Udma_ringGetModeFxn ringGetMode
Definition: udma.h:683
Udma_ringDequeueRawFxn ringDequeueRaw
Definition: udma.h:673
Udma_ringGetMemPtrFxn ringGetMemPtr
Definition: udma.h:681
uint32_t txChOffset
Definition: udma.h:566
Udma_PhyToVirtFxn phyToVirtFxn
Definition: udma.h:264
char printBuf[UDMA_CFG_PRINT_BUF_LEN]
Definition: udma.h:665
void(* Udma_ringHandleClearRegsFxn)(Udma_RingHandle ringHandle)
UDMA Ring handle clear register function prototype.
Definition: udma.h:188
Udma_ringPrimeFxn ringPrime
Definition: udma.h:693
uint32_t intrPriority
Definition: udma.h:283
int32_t UdmaInitPrms_init(uint32_t instId, Udma_InitPrms *initPrms)
Udma_InitPrms structure init function.
uint32_t iaGemOffset
Definition: udma.h:584
uint32_t(* Udma_ringGetElementCntFxn)(Udma_RingHandle ringHandle)
UDMA Ring get element count function prototype.
Definition: udma.h:203
struct Udma_EventObj globalEventObj
Definition: udma.h:590
Udma_ringHandleClearRegsFxn ringHandleClearRegs
Definition: udma.h:701
uint32_t globalEventFlag[UDMA_RM_GLOBAL_EVENT_ARR_SIZE]
Definition: udma.h:647
uint16_t devIdIa
Definition: udma.h:518
void(* Udma_ringSetCfgFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, const Udma_RingPrms *ringPrms)
UDMA Ring set Cfg function prototype.
Definition: udma.h:225
uint32_t rxChOffset
Definition: udma.h:570
#define UDMA_RM_RX_CH_ARR_SIZE
Definition: udma_cfg.h:102
#define UDMA_RM_RING_MON_ARR_SIZE
Definition: udma_cfg.h:115
#define UDMA_RM_UTC_CH_ARR_SIZE
Definition: udma_cfg.h:105
#define UDMA_RM_VINTR_ARR_SIZE
Definition: udma_cfg.h:112
#define UDMA_RM_RX_HC_CH_ARR_SIZE
Definition: udma_cfg.h:103
#define UDMA_RM_BLK_COPY_HC_CH_ARR_SIZE
Definition: udma_cfg.h:97
#define UDMA_RM_MAPPED_RING_ARR_SIZE
Definition: udma_cfg.h:108
#define UDMA_RM_MAPPED_RX_CH_ARR_SIZE
Definition: udma_cfg.h:107
#define UDMA_CFG_PRINT_BUF_LEN
UDMA print buffer length.
Definition: udma_cfg.h:166
#define UDMA_RM_IR_INTR_ARR_SIZE
Definition: udma_cfg.h:113
#define UDMA_RM_PROXY_ARR_SIZE
Definition: udma_cfg.h:114
#define UDMA_RM_BLK_COPY_CH_ARR_SIZE
Definition: udma_cfg.h:96
#define UDMA_RM_FREE_FLOW_ARR_SIZE
Definition: udma_cfg.h:110
#define UDMA_RM_TX_CH_ARR_SIZE
Definition: udma_cfg.h:99
#define UDMA_RM_TX_UHC_CH_ARR_SIZE
Definition: udma_cfg.h:101
#define UDMA_RM_RX_UHC_CH_ARR_SIZE
Definition: udma_cfg.h:104
#define UDMA_RM_TX_HC_CH_ARR_SIZE
Definition: udma_cfg.h:100
#define UDMA_RM_GLOBAL_EVENT_ARR_SIZE
Definition: udma_cfg.h:111
#define UDMA_RM_BLK_COPY_UHC_CH_ARR_SIZE
Definition: udma_cfg.h:98
#define UDMA_RM_MAPPED_TX_CH_ARR_SIZE
Definition: udma_cfg.h:106
#define UDMA_RM_FREE_RING_ARR_SIZE
Definition: udma_cfg.h:109
This file contains prototypes for APIs contained as a part of SCICLIENT as well as the structures of ...
UDMA driver object.
Definition: udma.h:439
UDMA event object.
Definition: udma_event.h:506
UDMA initialization parameters.
Definition: udma.h:240
UDMA ring parameters.
Definition: udma_ring.h:134
UDMA resource manager init parameters.
Definition: udma_rm.h:90
UDMA configuration parameters.
UDMA Channel related parameters and API.
UDMA DRU related parameters and API.
UDMA event related parameters and API.
UDMA flow related parameters and API.
UDMA proxy related parameters and API.
UDMA ring related parameters and API.
UDMA RM related parameters and API.
UDMA Low Level Driver API/interface data types file.
UDMA utility API to make TR, get TR descriptor memory requirement.