PDK API Guide for J721E
UDMA Driver OSAL API

Introduction

This is UDMA driver OSAL related configuration parameters and API

Files

file  udma_osal.h
 UDMA OSAL related parameters and API.
 

Data Structures

struct  Udma_OsalPrms
 UDMA driver OSAL function pointers. More...
 
struct  Udma_OsalCachePrms
 UDMA driver OSAL cache function pointers. More...
 

Functions

int32_t Udma_osalSetCachePrms (const Udma_OsalCachePrms *cachePrms)
 This API sets the OSAL cache paramaters incase user needs to override the default cache API. More...
 
void UdmaOsalPrms_init (Udma_OsalPrms *osalPrms)
 Udma_OsalPrms structure init function. More...
 
void UdmaOsalCachePrms_init (Udma_OsalCachePrms *cachePrms)
 Udma_OsalCachePrms structure init function. More...
 

Typedefs

typedef uintptr_t(* Udma_OsalDisableAllIntrFxn) (void)
 UDMA OSAL intr disable function prototype. More...
 
typedef void(* Udma_OsalRestoreAllIntrFxn) (uintptr_t cookie)
 UDMA OSAL intr restore function prototype. More...
 
typedef void(* Udma_OsalDisableIntrFxn) (uint32_t coreIntrNum)
 UDMA OSAL intr disable function prototype. More...
 
typedef void *(* Udma_OsalMutexCreateFxn) (void)
 UDMA OSAL mutex create function prototype to protect critical section. More...
 
typedef void(* Udma_OsalMutexDeleteFxn) (void *mutexHandle)
 UDMA OSAL mutex delete function prototype. More...
 
typedef void(* Udma_OsalMutexLockFxn) (void *mutexHandle)
 UDMA OSAL mutex lock function prototype. More...
 
typedef void(* Udma_OsalMutexUnlockFxn) (void *mutexHandle)
 UDMA OSAL mutex lock function prototype. More...
 
typedef void(* Udma_OsalIsrFxn) (uintptr_t arg)
 UDMA OSAL ISR callback function prototype. More...
 
typedef void *(* Udma_OsalRegisterIntrFxn) (Udma_OsalIsrFxn isrFxn, uint32_t coreIntrNum, uint32_t intrPriority, void *arg)
 UDMA OSAL ISR register function prototype. More...
 
typedef void(* Udma_OsalUnRegisterIntrFxn) (void *hwiHandle)
 UDMA OSAL ISR unregister function prototype. More...
 
typedef void(* Udma_OsalCacheInv) (const void *addr, int32_t size)
 UDMA OSAL cache invalidate function prototype. More...
 
typedef void(* Udma_OsalCacheWb) (const void *addr, int32_t size)
 UDMA OSAL cache writeback function prototype. More...
 

Typedef Documentation

◆ Udma_OsalDisableAllIntrFxn

typedef uintptr_t(* Udma_OsalDisableAllIntrFxn) (void)

UDMA OSAL intr disable function prototype.

Returns
Cookie to be passed back to enable interrupt function

◆ Udma_OsalRestoreAllIntrFxn

typedef void(* Udma_OsalRestoreAllIntrFxn) (uintptr_t cookie)

UDMA OSAL intr restore function prototype.

Parameters
cookie[IN] This is returned in disable interrupt function

◆ Udma_OsalDisableIntrFxn

typedef void(* Udma_OsalDisableIntrFxn) (uint32_t coreIntrNum)

UDMA OSAL intr disable function prototype.

Parameters
coreIntrNum[IN] Interrupt to disable

◆ Udma_OsalMutexCreateFxn

typedef void*(* Udma_OsalMutexCreateFxn) (void)

UDMA OSAL mutex create function prototype to protect critical section.

Returns
Pointer to mutex object

◆ Udma_OsalMutexDeleteFxn

typedef void(* Udma_OsalMutexDeleteFxn) (void *mutexHandle)

UDMA OSAL mutex delete function prototype.

Parameters
mutexHandle[IN] Pointer to mutex object returned during create

◆ Udma_OsalMutexLockFxn

typedef void(* Udma_OsalMutexLockFxn) (void *mutexHandle)

UDMA OSAL mutex lock function prototype.

Parameters
mutexHandle[IN] Pointer to mutex object returned during create

◆ Udma_OsalMutexUnlockFxn

typedef void(* Udma_OsalMutexUnlockFxn) (void *mutexHandle)

UDMA OSAL mutex lock function prototype.

Parameters
mutexHandle[IN] Pointer to mutex object returned during create

◆ Udma_OsalIsrFxn

typedef void(* Udma_OsalIsrFxn) (uintptr_t arg)

UDMA OSAL ISR callback function prototype.

Parameters
arg[IN] App data

◆ Udma_OsalRegisterIntrFxn

typedef void*(* Udma_OsalRegisterIntrFxn) (Udma_OsalIsrFxn isrFxn, uint32_t coreIntrNum, uint32_t intrPriority, void *arg)

UDMA OSAL ISR register function prototype.

Parameters
isrFxn[IN] ISR callback fxn pointer
coreIntrNum[IN] Core interrupt number to register
intrPriority[IN] Priority
arg[IN] Arg that will be passed back in the ISR
Returns
Created HWI handle

◆ Udma_OsalUnRegisterIntrFxn

typedef void(* Udma_OsalUnRegisterIntrFxn) (void *hwiHandle)

UDMA OSAL ISR unregister function prototype.

Parameters
hwiHandle[IN] HWI handle

◆ Udma_OsalCacheInv

typedef void(* Udma_OsalCacheInv) (const void *addr, int32_t size)

UDMA OSAL cache invalidate function prototype.

Parameters
addr[IN] Start address of the cache line/s
size[IN] size (in bytes) of the memory to invalidate

◆ Udma_OsalCacheWb

typedef void(* Udma_OsalCacheWb) (const void *addr, int32_t size)

UDMA OSAL cache writeback function prototype.

Parameters
addr[IN] Start address of the cache line/s
size[IN] size (in bytes) of the memory to be written back

Function Documentation

◆ Udma_osalSetCachePrms()

int32_t Udma_osalSetCachePrms ( const Udma_OsalCachePrms cachePrms)

This API sets the OSAL cache paramaters incase user needs to override the default cache API.

Caution: This is common across all handles and should be set perferably once for a given core before calling Udma_init.

Note: All the function pointer needs to be set.

Requirement: DOX_REQ_TAG(PDK-2984)

Parameters
cachePrms[IN] Pointer to Udma_OsalCachePrms structure. This parameter can't be NULL.
Returns
Udma_ErrorCodes

◆ UdmaOsalPrms_init()

void UdmaOsalPrms_init ( Udma_OsalPrms osalPrms)

Udma_OsalPrms structure init function.

Parameters
osalPrms[IN] Pointer to Udma_OsalPrms structure.

◆ UdmaOsalCachePrms_init()

void UdmaOsalCachePrms_init ( Udma_OsalCachePrms cachePrms)

Udma_OsalCachePrms structure init function.

Parameters
cachePrms[IN] Pointer to Udma_OsalCachePrms structure.