PDK API Guide for J721E
udma.h File Reference

Introduction

UDMA Driver API/interface file.

Requirement: DOX_REQ_TAG(PDK-2494)

Go to the source code of this file.

Data Structures

struct  Udma_InitPrms
 UDMA initialization parameters. More...
 
struct  Udma_DrvHandle
 UDMA driver object. More...
 

Typedefs

typedef uint64_t(* Udma_VirtToPhyFxn) (const void *virtAddr, uint32_t chNum, void *appData)
 UDMA Virtual to Physical address translation callback function. More...
 
typedef void *(* Udma_PhyToVirtFxn) (uint64_t phyAddr, uint32_t chNum, void *appData)
 UDMA Physical to Virtual address translation callback function. More...
 
typedef void(* Udma_PrintFxn) (const char *str)
 UDMA info/debug print function prototype. More...
 
UDMA Ring Local API's function prototypes

Function prototypes for various local UDMA Ring API's. For Normal RA / LCDMA RA, function pointers will be used to call the appropriate function.

typedef void(* Udma_ringHandleClearRegsFxn) (Udma_RingHandle ringHandle)
 UDMA Ring handle clear register function prototype. More...
 
typedef void(* Udma_ringSetDoorBellFxn) (Udma_RingHandle ringHandle, int32_t count)
 UDMA Ring set doorbell function prototype. More...
 
typedef void(* Udma_ringPrimeFxn) (Udma_RingHandle ringHandle, uint64_t phyDescMem)
 UDMA Ring prime function prototype. More...
 
typedef void(* Udma_ringPrimeReadFxn) (Udma_RingHandle ringHandle, uint64_t *phyDescMem)
 UDMA Ring prime read function prototype. More...
 
typedef void *(* Udma_ringGetMemPtrFxn) (Udma_RingHandle ringHandle)
 UDMA Ring get mem pointer function prototype. More...
 
typedef uint32_t(* Udma_ringGetModeFxn) (Udma_RingHandle ringHandle)
 UDMA Ring get ring mode function prototype. More...
 
typedef uint32_t(* Udma_ringGetElementCntFxn) (Udma_RingHandle ringHandle)
 UDMA Ring get element count function prototype. More...
 
typedef uint32_t(* Udma_ringGetForwardRingOccFxn) (Udma_RingHandle ringHandle)
 UDMA Ring get forward ring occupancy function prototype. More...
 
typedef uint32_t(* Udma_ringGetReverseRingOccFxn) (Udma_RingHandle ringHandle)
 UDMA Ring get reverse ring occupancy function prototype. More...
 
typedef uint32_t(* Udma_ringGetWrIdxFxn) (Udma_RingHandle ringHandle)
 UDMA Ring get write index value function prototype. More...
 
typedef uint32_t(* Udma_ringGetRdIdxFxn) (Udma_RingHandle ringHandle)
 UDMA Ring get read index value function prototype. More...
 
typedef int32_t(* Udma_ringDequeueRawFxn) (Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t *phyDescMem)
 UDMA Ring dequeue raw function prototype. More...
 
typedef int32_t(* Udma_ringQueueRawFxn) (Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t phyDescMem)
 UDMA Ring queue raw function prototype. More...
 
typedef int32_t(* Udma_ringFlushRawFxn) (Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, uint64_t *phyDescMem)
 UDMA Ring flush raw function prototype. More...
 
typedef void(* Udma_ringSetCfgFxn) (Udma_DrvHandle drvHandle, Udma_RingHandle ringHandle, const Udma_RingPrms *ringPrms)
 UDMA Ring set Cfg function prototype. More...
 

Functions

int32_t Udma_init (Udma_DrvHandle drvHandle, const Udma_InitPrms *initPrms)
 UDMA init function. More...
 
int32_t Udma_deinit (Udma_DrvHandle drvHandle)
 UDMA deinit function. More...
 
int32_t UdmaInitPrms_init (uint32_t instId, Udma_InitPrms *initPrms)
 Udma_InitPrms structure init function. More...
 
static uint64_t Udma_defaultVirtToPhyFxn (const void *virtAddr, uint32_t chNum, void *appData)
 Default virtual to physical translation function. More...
 
static void * Udma_defaultPhyToVirtFxn (uint64_t phyAddr, uint32_t chNum, void *appData)
 Default physical to virtual translation function. More...