PDK API Guide for J721E
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 #include <stdint.h>
64 
65 /* UDMA_SOC_CFG_* macros are defined udma_soc.h.
66  * So including this first
67  */
68 #include <ti/drv/udma/soc/udma_soc.h>
69 
70 #include <ti/csl/soc.h>
71 #include <ti/csl/csl_psilcfg.h>
72 #if (UDMA_SOC_CFG_RA_NORMAL_PRESENT == 1)
73 #include <ti/csl/csl_ringacc.h>
74 #endif
75 #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
76 #include <ti/csl/csl_lcdma_ringacc.h>
77 #endif
78 #if (UDMA_SOC_CFG_UDMAP_PRESENT == 1)
79 #include <ti/csl/csl_udmap.h>
80 #endif
81 #if (UDMA_SOC_CFG_BCDMA_PRESENT == 1)
82 #include <ti/csl/csl_bcdma.h>
83 #if (UDMA_SOC_CFG_PKTDMA_PRESENT == 1)
84 #include <ti/csl/csl_pktdma.h>
86 #endif
87 #endif
88 #include <ti/csl/csl_intaggr.h>
89 #include <ti/csl/csl_intr_router.h>
90 #if (UDMA_NUM_UTC_INSTANCE > 0)
91 #include <ti/csl/csl_dru.h>
92 #endif
93 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)
94 #include <ti/csl/csl_proxy.h>
95 #endif
96 #if (UDMA_SOC_CFG_CLEC_PRESENT == 1)
97 #include <ti/csl/csl_clec.h>
98 #endif
99 
100 #include <ti/osal/osal.h>
102 
112 #if (UDMA_NUM_UTC_INSTANCE > 0)
114 #endif
116 
117 #ifdef __cplusplus
118 extern "C" {
119 #endif
120 
121 /* ========================================================================== */
122 /* Macros & Typedefs */
123 /* ========================================================================== */
124 
137 typedef uint64_t (*Udma_VirtToPhyFxn)(const void *virtAddr,
138  uint32_t chNum,
139  void *appData);
152 typedef void *(*Udma_PhyToVirtFxn)(uint64_t phyAddr,
153  uint32_t chNum,
154  void *appData);
155 
163 typedef void (*Udma_PrintFxn)(const char *str);
164 
176 typedef void (*Udma_ringHandleClearRegsFxn)(Udma_RingHandle ringHandle);
178 typedef void (*Udma_ringSetDoorBellFxn)(Udma_RingHandle ringHandle,
179  int32_t count);
181 typedef void (*Udma_ringPrimeFxn)(Udma_RingHandle ringHandle,
182  uint64_t phyDescMem);
184 typedef void (*Udma_ringPrimeReadFxn)(Udma_RingHandle ringHandle,
185  uint64_t *phyDescMem);
187 typedef void *(*Udma_ringGetMemPtrFxn)(Udma_RingHandle ringHandle);
189 typedef uint32_t (*Udma_ringGetModeFxn)(Udma_RingHandle ringHandle);
191 typedef uint32_t (*Udma_ringGetElementCntFxn)(Udma_RingHandle ringHandle);
193 typedef uint32_t (*Udma_ringGetForwardRingOccFxn)(Udma_RingHandle ringHandle);
195 typedef uint32_t (*Udma_ringGetReverseRingOccFxn)(Udma_RingHandle ringHandle);
197 typedef uint32_t (*Udma_ringGetWrIdxFxn)(Udma_RingHandle ringHandle);
199 typedef uint32_t (*Udma_ringGetRdIdxFxn)(Udma_RingHandle ringHandle);
201 typedef int32_t (*Udma_ringDequeueRawFxn)(Udma_DrvHandle drvHandle,
202  Udma_RingHandle ringHandle,
203  uint64_t *phyDescMem);
205 typedef int32_t (*Udma_ringQueueRawFxn)(Udma_DrvHandle drvHandle,
206  Udma_RingHandle ringHandle,
207  uint64_t phyDescMem);
209 typedef int32_t (*Udma_ringFlushRawFxn)(Udma_DrvHandle drvHandle,
210  Udma_RingHandle ringHandle,
211  uint64_t *phyDescMem);
213 typedef void (*Udma_ringSetCfgFxn)(Udma_DrvHandle drvHandle,
214  Udma_RingHandle ringHandle,
215  const Udma_RingPrms *ringPrms);
216 /* @} */
217 
218 /* ========================================================================== */
219 /* Structure Declarations */
220 /* ========================================================================== */
221 
227 typedef struct
228 {
229  uint32_t instId;
266 } Udma_InitPrms;
267 
268 /* ========================================================================== */
269 /* Function Declarations */
270 /* ========================================================================== */
271 
291 int32_t Udma_init(Udma_DrvHandle drvHandle, const Udma_InitPrms *initPrms);
292 
306 int32_t Udma_deinit(Udma_DrvHandle drvHandle);
307 
308 /*
309  * Structure Init functions
310  *
311  * Requirement: DOX_REQ_TAG(PDK-2600)
312  */
339 int32_t UdmaInitPrms_init(uint32_t instId, Udma_InitPrms *initPrms);
340 
341 /* ========================================================================== */
342 /* Internal Function Declarations (Needed for other static inlines) */
343 /* ========================================================================== */
344 
360 static inline uint64_t Udma_defaultVirtToPhyFxn(const void *virtAddr,
361  uint32_t chNum,
362  void *appData);
363 
379 static inline void *Udma_defaultPhyToVirtFxn(uint64_t phyAddr,
380  uint32_t chNum,
381  void *appData);
382 
383 /* ========================================================================== */
384 /* Static Function Definitions */
385 /* ========================================================================== */
386 
387 static uint64_t Udma_defaultVirtToPhyFxn(const void *virtAddr,
388  uint32_t chNum,
389  void *appData)
390 {
391  return ((uint64_t) virtAddr);
392 }
393 
394 static void *Udma_defaultPhyToVirtFxn(uint64_t phyAddr,
395  uint32_t chNum,
396  void *appData)
397 {
398 #if defined (__aarch64__)
399  uint64_t temp = phyAddr;
400 #else
401  /* R5 is 32-bit machine, need to truncate to avoid void * typecast error */
402  uint32_t temp = (uint32_t) phyAddr;
403 #endif
404 
405  return ((void *) temp);
406 }
407 
408 /* ========================================================================== */
409 /* Internal/Private Structure Declarations */
410 /* ========================================================================== */
411 
419 {
420  uint32_t instType;
422  uint32_t raType;
425 #if (UDMA_SOC_CFG_UDMAP_PRESENT == 1)
426  /*
427  * NAVSS instance parameters
428  */
429  CSL_UdmapCfg udmapRegs;
431 #endif
432 #if (UDMA_SOC_CFG_BCDMA_PRESENT == 1)
433  CSL_BcdmaCfg bcdmaRegs;
435 #endif
436 #if (UDMA_SOC_CFG_PKTDMA_PRESENT == 1)
437  CSL_PktdmaCfg pktdmaRegs;
439 #endif
440 #if (UDMA_SOC_CFG_RA_NORMAL_PRESENT == 1)
441  CSL_RingAccCfg raRegs;
442 #endif
443 #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
444  CSL_LcdmaRingaccCfg lcdmaRaRegs;
445 #endif
446 
447  CSL_IntaggrCfg iaRegs;
449 #if (UDMA_NUM_UTC_INSTANCE > 0)
450  Udma_UtcInstInfo utcInfo[UDMA_NUM_UTC_INSTANCE];
452 #endif
457  uint32_t maxRings;
459  uint32_t maxProxy;
461  uint32_t maxRingMon;
464 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)
465  /*
466  * Proxy parameters
467  */
468  CSL_ProxyCfg proxyCfg;
469  /*< Proxy register configuration */
470  CSL_ProxyTargetParams proxyTargetRing;
471  /*< Proxy ring target register configuration */
472  uint32_t proxyTargetNumRing;
473  /*< Proxy ring target index */
474 #endif
475 
476 #if (UDMA_SOC_CFG_CLEC_PRESENT == 1)
477  /*
478  * Clec parameters
479  */
480  CSL_CLEC_EVTRegs *clecRegs;
482  uint32_t clecRtMap;
485  uint32_t clecOffset;
487 #endif
488 
489  /*
490  * TISCI RM parameters
491  */
492  uint16_t devIdRing;
494  uint16_t devIdUdma;
496  uint16_t devIdPsil;
498  uint16_t devIdIa;
500  uint16_t devIdIr;
504 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)
505  uint16_t devIdProxy;
507 #endif
508  uint16_t devIdCore;
510 #if (UDMA_NUM_UTC_INSTANCE > 0)
511  uint32_t druCoreId;
516 #endif
517  /*
518  * TISCI Ring event IRQ params
519  *
520  * These IRQ offsets should be corresponding TISCI offset - ringNum Offset
521  */
522  uint16_t srcIdRingIrq;
526  uint16_t txRingIrqOffset;
528  uint16_t rxRingIrqOffset;
530  /*
531  * TISCI TR event IRQ params
532  *
533  * These IRQ offsets should be corresponding TISCI offset - chNum Offset
534  */
535  uint16_t srcIdTrIrq;
539  uint16_t txTrIrqOffset;
541  uint16_t rxTrIrqOffset;
543  /*
544  * Channel Offsets
545  */
546  uint32_t txChOffset;
548  uint32_t extChOffset;
550  uint32_t rxChOffset;
552  /*
553  * The driver allocates ringNum = chNum (for BlkCpoy)
554  = chNum + txChOffset (for SplitTR Tx)
555  = chNum + rxChOffset (for SplitTR Rx)
556 
557  For CSL_bcdma* API's passed param ->channel_num = txChNum (for BlkCopy)
558  = txChNum + txChOffset (for SplitTR Tx)
559  = rxChNum + rxChOffset (for SplitTR Rx)
560  */
561  /*
562  * Other Offsets
563  */
564  uint32_t iaGemOffset;
566  uint32_t trigGemOffset;
572  Udma_EventHandle globalEventHandle;
577  uint32_t drvInitDone;
580  /*
581  * RM objects.
582  * This is a bitwise flag
583  * 1 - free, 0 - allocated
584  */
597 
606 #if (UDMA_NUM_UTC_INSTANCE > 0)
607  uint32_t utcChFlag[UDMA_NUM_UTC_INSTANCE][UDMA_RM_UTC_CH_ARR_SIZE];
609 #endif
610 #if (UDMA_NUM_MAPPED_TX_GROUP > 0)
613 #endif
614 #if (UDMA_NUM_MAPPED_RX_GROUP > 0)
617 #endif
618 #if ((UDMA_NUM_MAPPED_TX_GROUP + UDMA_NUM_MAPPED_RX_GROUP) > 0)
621 #endif
622 
638  void *rmLock;
640  void *printLock;
645  /*
646  * UDMA Ring Local API's function pointers
647  * For Normal RA / LCDMA RA, these function pointers are used
648  * to call the appropriate function.
649  */
680 };
681 
682 #ifdef __cplusplus
683 }
684 #endif
685 
686 #endif /* #ifndef UDMA_H_ */
687 
688 /* @} */
static void * Udma_defaultPhyToVirtFxn(uint64_t phyAddr, uint32_t chNum, void *appData)
Default physical to virtual translation function.
Definition: udma.h:394
OS Abstraction Layer header.
uint32_t rxUhcChFlag[UDMA_RM_RX_UHC_CH_ARR_SIZE]
Definition: udma.h:603
uint32_t instType
Definition: udma.h:420
Udma_ringGetModeFxn ringGetMode
Definition: udma.h:660
UDMA ring parameters.
Definition: udma_ring.h:133
uint32_t rxChOffset
Definition: udma.h:550
uint32_t(* Udma_ringGetElementCntFxn)(Udma_RingHandle ringHandle)
UDMA Ring get element count function prototype.
Definition: udma.h:191
uint32_t(* Udma_ringGetReverseRingOccFxn)(Udma_RingHandle ringHandle)
UDMA Ring get reverse ring occupancy function prototype.
Definition: udma.h:195
#define UDMA_RM_RX_UHC_CH_ARR_SIZE
Definition: udma_cfg.h:104
#define UDMA_RM_TX_UHC_CH_ARR_SIZE
Definition: udma_cfg.h:101
void(* Udma_ringSetDoorBellFxn)(Udma_RingHandle ringHandle, int32_t count)
UDMA Ring set doorbell function prototype.
Definition: udma.h:178
uint32_t freeRingFlag[UDMA_RM_FREE_RING_ARR_SIZE]
Definition: udma.h:623
uint32_t proxyFlag[UDMA_RM_PROXY_ARR_SIZE]
Definition: udma.h:633
#define UDMA_RM_MAPPED_RX_CH_ARR_SIZE
Definition: udma_cfg.h:107
uint32_t skipRmOverlapCheck
Definition: udma.h:234
uint32_t extChOffset
Definition: udma.h:548
Udma_ringFlushRawFxn ringFlushRaw
Definition: udma.h:654
uint32_t txUhcChFlag[UDMA_RM_TX_UHC_CH_ARR_SIZE]
Definition: udma.h:596
uint16_t rxRingIrqOffset
Definition: udma.h:528
uint32_t count
Definition: tisci_rm_ra.h:166
#define UDMA_RM_MAPPED_RING_ARR_SIZE
Definition: udma_cfg.h:108
UDMA utility API to make TR, get TR descriptor memory requirement.
Udma_ringGetReverseRingOccFxn ringGetReverseRingOcc
Definition: udma.h:664
#define UDMA_RM_VINTR_ARR_SIZE
Definition: udma_cfg.h:112
uint16_t devIdPsil
Definition: udma.h:496
uint32_t vintrFlag[UDMA_RM_VINTR_ARR_SIZE]
Definition: udma.h:629
UDMA initialization parameters.
Definition: udma.h:227
This file contains prototypes for APIs contained as a part of SCICLIENT as well as the structures of ...
uint32_t txHcChFlag[UDMA_RM_TX_HC_CH_ARR_SIZE]
Definition: udma.h:594
uint32_t txChOffset
Definition: udma.h:546
UDMA OSAL related parameters and API.
int32_t Udma_init(Udma_DrvHandle drvHandle, const Udma_InitPrms *initPrms)
UDMA init function.
uint32_t instId
Definition: udma.h:229
Udma_RmInitPrms rmInitPrms
Definition: udma.h:232
uint32_t maxProxy
Definition: udma.h:459
Udma_ringGetWrIdxFxn ringGetWrIdx
Definition: udma.h:666
Udma_ringGetRdIdxFxn ringGetRdIdx
Definition: udma.h:668
Udma_ringSetDoorBellFxn ringSetDoorBell
Definition: udma.h:674
#define UDMA_RM_RING_MON_ARR_SIZE
Definition: udma_cfg.h:115
uint32_t(* Udma_ringGetModeFxn)(Udma_RingHandle ringHandle)
UDMA Ring get ring mode function prototype.
Definition: udma.h:189
uint32_t blkCopyHcChFlag[UDMA_RM_BLK_COPY_HC_CH_ARR_SIZE]
Definition: udma.h:587
uint32_t drvInitDone
Definition: udma.h:577
void * printLock
Definition: udma.h:640
uint32_t udmapSrcThreadOffset
Definition: udma.h:453
uint16_t devIdRing
Definition: udma.h:492
void *(* Udma_PhyToVirtFxn)(uint64_t phyAddr, uint32_t chNum, void *appData)
UDMA Physical to Virtual address translation callback function.
Definition: udma.h:152
uint32_t(* Udma_ringGetRdIdxFxn)(Udma_RingHandle ringHandle)
UDMA Ring get read index value function prototype.
Definition: udma.h:199
#define UDMA_RM_GLOBAL_EVENT_ARR_SIZE
Definition: udma_cfg.h:111
uint32_t maxRingMon
Definition: udma.h:461
uint32_t ringMonFlag[UDMA_RM_RING_MON_ARR_SIZE]
Definition: udma.h:635
uint16_t blkCopyRingIrqOffset
Definition: udma.h:524
uint64_t(* Udma_VirtToPhyFxn)(const void *virtAddr, uint32_t chNum, void *appData)
UDMA Virtual to Physical address translation callback function.
Definition: udma.h:137
Udma_ringPrimeReadFxn ringPrimeRead
Definition: udma.h:672
Udma_OsalPrms osalPrms
Definition: udma.h:264
CSL_RingAccCfg contains information to configure the ring accelerator.
Definition: csl_ringacc.h:219
UDMA driver object.
Definition: udma.h:418
void(* Udma_PrintFxn)(const char *str)
UDMA info/debug print function prototype.
Definition: udma.h:163
uint32_t iaGemOffset
Definition: udma.h:564
Udma_VirtToPhyFxn virtToPhyFxn
Definition: udma.h:244
CSL_IntaggrCfg iaRegs
Definition: udma.h:447
#define UDMA_NUM_UTC_INSTANCE
Number of UTC instance.
Definition: udma_soc.h:189
#define UDMA_RM_IR_INTR_ARR_SIZE
Definition: udma_cfg.h:113
Udma_ringSetCfgFxn ringSetCfg
Definition: udma.h:676
This structure contains configuration parameters for each proxy target.
Definition: csl_proxy.h:204
uint16_t srcIdTrIrq
Definition: udma.h:535
UDMA ring related parameters and API.
#define UDMA_RM_RX_HC_CH_ARR_SIZE
Definition: udma_cfg.h:103
This structure contains configuration parameters for the proxy IP.
Definition: csl_proxy.h:212
#define UDMA_RM_BLK_COPY_UHC_CH_ARR_SIZE
Definition: udma_cfg.h:98
#define UDMA_RM_BLK_COPY_CH_ARR_SIZE
Definition: udma_cfg.h:96
UDMA Low Level Driver API/interface data types file.
#define UDMA_RM_UTC_CH_ARR_SIZE
Definition: udma_cfg.h:105
void * rmLock
Definition: udma.h:638
uint32_t rxChFlag[UDMA_RM_RX_CH_ARR_SIZE]
Definition: udma.h:599
uint16_t devIdCore
Definition: udma.h:508
#define UDMA_RM_MAPPED_TX_CH_ARR_SIZE
Definition: udma_cfg.h:106
#define UDMA_RM_RX_CH_ARR_SIZE
Definition: udma_cfg.h:102
UDMA Channel related parameters and API.
Udma_EventHandle globalEventHandle
Definition: udma.h:572
Udma_ringDequeueRawFxn ringDequeueRaw
Definition: udma.h:650
uint32_t blkCopyChFlag[UDMA_RM_BLK_COPY_CH_ARR_SIZE]
Definition: udma.h:585
uint32_t globalEventFlag[UDMA_RM_GLOBAL_EVENT_ARR_SIZE]
Definition: udma.h:627
int32_t(* Udma_ringDequeueRawFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA Ring dequeue raw function prototype.
Definition: udma.h:201
Udma_ringPrimeFxn ringPrime
Definition: udma.h:670
uint32_t irIntrFlag[UDMA_RM_IR_INTR_ARR_SIZE]
Definition: udma.h:631
UDMA configuration parameters.
static uint64_t Udma_defaultVirtToPhyFxn(const void *virtAddr, uint32_t chNum, void *appData)
Default virtual to physical translation function.
Definition: udma.h:387
uint32_t udmapDestThreadOffset
Definition: udma.h:455
uint32_t txChFlag[UDMA_RM_TX_CH_ARR_SIZE]
Definition: udma.h:592
#define UDMA_RM_FREE_FLOW_ARR_SIZE
Definition: udma_cfg.h:110
void(* Udma_ringPrimeReadFxn)(Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA Ring prime read function prototype.
Definition: udma.h:184
uint16_t txTrIrqOffset
Definition: udma.h:539
uint32_t freeFlowFlag[UDMA_RM_FREE_FLOW_ARR_SIZE]
Definition: udma.h:625
Udma_ringGetMemPtrFxn ringGetMemPtr
Definition: udma.h:658
Udma_ringGetForwardRingOccFxn ringGetForwardRingOcc
Definition: udma.h:662
char printBuf[UDMA_CFG_PRINT_BUF_LEN]
Definition: udma.h:642
Header file containing various enumerations, structure definitions and function declarations for CPPI...
UDMA DRU related parameters and API.
UDMA event related parameters and API.
struct Udma_EventObj globalEventObj
Definition: udma.h:570
void *(* Udma_ringGetMemPtrFxn)(Udma_RingHandle ringHandle)
UDMA Ring get mem pointer function prototype.
Definition: udma.h:187
uint32_t maxRings
Definition: udma.h:457
Udma_ringHandleClearRegsFxn ringHandleClearRegs
Definition: udma.h:678
Udma_ringQueueRawFxn ringQueueRaw
Definition: udma.h:652
uint16_t txRingIrqOffset
Definition: udma.h:526
UDMA RM related parameters and API.
uint32_t skipGlobalEventReg
Definition: udma.h:238
Udma_PhyToVirtFxn phyToVirtFxn
Definition: udma.h:252
void(* Udma_ringPrimeFxn)(Udma_RingHandle ringHandle, uint64_t phyDescMem)
UDMA Ring prime function prototype.
Definition: udma.h:181
int32_t(* Udma_ringFlushRawFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t *phyDescMem)
UDMA Ring flush raw function prototype.
Definition: udma.h:209
#define UDMA_NUM_MAPPED_TX_GROUP
Number of Mapped TX Group.
Definition: udma_soc.h:163
uint32_t(* Udma_ringGetWrIdxFxn)(Udma_RingHandle ringHandle)
UDMA Ring get write index value function prototype.
Definition: udma.h:197
uint16_t devIdDummyEvtSrc
Definition: udma.h:502
UDMA flow related parameters and API.
Udma_PrintFxn printFxn
Definition: udma.h:260
void(* Udma_ringHandleClearRegsFxn)(Udma_RingHandle ringHandle)
UDMA Ring handle clear register function prototype.
Definition: udma.h:176
#define UDMA_RM_TX_HC_CH_ARR_SIZE
Definition: udma_cfg.h:100
Udma_ringGetElementCntFxn ringGetElementCnt
Definition: udma.h:656
uint16_t rxTrIrqOffset
Definition: udma.h:541
uint16_t srcIdRingIrq
Definition: udma.h:522
UDMAP configuration structure.
Definition: csl_udmap.h:489
UDMA resource manager init parameters.
Definition: udma_rm.h:89
uint32_t rxHcChFlag[UDMA_RM_RX_HC_CH_ARR_SIZE]
Definition: udma.h:601
uint32_t(* Udma_ringGetForwardRingOccFxn)(Udma_RingHandle ringHandle)
UDMA Ring get forward ring occupancy function prototype.
Definition: udma.h:193
uint32_t raType
Definition: udma.h:422
uint32_t blkCopyUhcChFlag[UDMA_RM_BLK_COPY_UHC_CH_ARR_SIZE]
Definition: udma.h:589
char str[32]
Definition: tisci_core.h:442
uint32_t trigGemOffset
Definition: udma.h:566
#define UDMA_RM_BLK_COPY_HC_CH_ARR_SIZE
Definition: udma_cfg.h:97
UDMA event object.
Definition: udma_event.h:505
#define UDMA_RM_PROXY_ARR_SIZE
Definition: udma_cfg.h:114
int32_t UdmaInitPrms_init(uint32_t instId, Udma_InitPrms *initPrms)
Udma_InitPrms structure init function.
void(* Udma_ringSetCfgFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, const Udma_RingPrms *ringPrms)
UDMA Ring set Cfg function prototype.
Definition: udma.h:213
#define UDMA_RM_TX_CH_ARR_SIZE
Definition: udma_cfg.h:99
int32_t(* Udma_ringQueueRawFxn)(Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t phyDescMem)
UDMA Ring queue raw function prototype.
Definition: udma.h:205
UDMA driver OSAL function pointers.
Definition: udma_osal.h:166
int32_t Udma_deinit(Udma_DrvHandle drvHandle)
UDMA deinit function.
uint16_t devIdUdma
Definition: udma.h:494
uint16_t devIdIr
Definition: udma.h:500
#define UDMA_RM_FREE_RING_ARR_SIZE
Definition: udma_cfg.h:109
#define UDMA_NUM_MAPPED_RX_GROUP
Number of Mapped RX Group.
Definition: udma_soc.h:176
#define UDMA_CFG_PRINT_BUF_LEN
UDMA print buffer length.
Definition: udma_cfg.h:161
Udma_InitPrms initPrms
Definition: udma.h:575
UDMA proxy related parameters and API.
uint16_t blkCopyTrIrqOffset
Definition: udma.h:537
uint16_t devIdIa
Definition: udma.h:498