68 #include <ti/drv/udma/soc/udma_soc.h>    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>    75 #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)    76 #include <ti/csl/csl_lcdma_ringacc.h>    78 #if (UDMA_SOC_CFG_UDMAP_PRESENT == 1)    79 #include <ti/csl/csl_udmap.h>    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>    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>    93 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)    94 #include <ti/csl/csl_proxy.h>    96 #if (UDMA_SOC_CFG_CLEC_PRESENT == 1)    97 #include <ti/csl/csl_clec.h>   112 #if (UDMA_NUM_UTC_INSTANCE > 0)   152 typedef void *(*Udma_PhyToVirtFxn)(uint64_t phyAddr,
   182                                   uint64_t phyDescMem);
   185                                       uint64_t *phyDescMem);
   187 typedef void *(*Udma_ringGetMemPtrFxn)(Udma_RingHandle ringHandle);
   202                                           Udma_RingHandle ringHandle, 
   203                                           uint64_t *phyDescMem);
   206                                         Udma_RingHandle ringHandle, 
   207                                         uint64_t phyDescMem); 
   210                                         Udma_RingHandle ringHandle, 
   211                                         uint64_t *phyDescMem); 
   214                                    Udma_RingHandle ringHandle,
   391     return ((uint64_t) virtAddr);
   398 #if defined (__aarch64__)   399     uint64_t temp = phyAddr;
   402     uint32_t temp = (uint32_t) phyAddr;
   405     return ((
void *) temp);
   425 #if (UDMA_SOC_CFG_UDMAP_PRESENT == 1)   432 #if (UDMA_SOC_CFG_BCDMA_PRESENT == 1)   433     CSL_BcdmaCfg             bcdmaRegs;
   436 #if (UDMA_SOC_CFG_PKTDMA_PRESENT == 1)    437     CSL_PktdmaCfg            pktdmaRegs; 
   440 #if (UDMA_SOC_CFG_RA_NORMAL_PRESENT == 1)     443 #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)     444     CSL_LcdmaRingaccCfg     lcdmaRaRegs;
   449 #if (UDMA_NUM_UTC_INSTANCE > 0)   464 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)   472     uint32_t                proxyTargetNumRing;
   476 #if (UDMA_SOC_CFG_CLEC_PRESENT == 1)   480     CSL_CLEC_EVTRegs       *clecRegs;
   504 #if (UDMA_SOC_CFG_PROXY_PRESENT == 1)   510 #if (UDMA_NUM_UTC_INSTANCE > 0)   606 #if (UDMA_NUM_UTC_INSTANCE > 0)   610 #if (UDMA_NUM_MAPPED_TX_GROUP > 0)   614 #if (UDMA_NUM_MAPPED_RX_GROUP > 0)   618 #if ((UDMA_NUM_MAPPED_TX_GROUP + UDMA_NUM_MAPPED_RX_GROUP) > 0) 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