| axicdma Vitis Drivers API Documentation

- Overview
- APIs
- File List
- Examples

Functions
xaxicdma.h File Reference

## Typedefs
Call Back function
  If interrupt is enabled, and the application wants to be notified about the completion of a transfer, the application should register its call back function to the driver. The call back function is registered through the transfer submission. Parameters
  CallBackRef | is the call back reference passed in by application. A NULL pointer is acceptable.
  IrqMask | is the interrupt mask regarding this completion
  NumBdPtr | is the pointer to number of BDs this handler should handle, for simple transfer, it is ignored.
typedef void(* | XAxiCdma_CallBackFn )(void *CallBackRef, u32 IrqMask, int *NumBdPtr)

## Functions
XAxiCdma_Config * | XAxiCdma_LookupConfig (u32 DeviceId)
| Look up the hardware configuration for a device instance. More...
u32 | XAxiCdma_CfgInitialize (XAxiCdma *InstancePtr, XAxiCdma_Config *CfgPtr, UINTPTR EffectiveAddr)
| This function initializes the driver. More...
void | XAxiCdma_Reset (XAxiCdma *InstancePtr)
| This function conducts hardware reset. More...
int | XAxiCdma_ResetIsDone (XAxiCdma *InstancePtr)
| This function checks whether the hardware reset is done. More...
int | XAxiCdma_IsBusy (XAxiCdma *InstancePtr)
| This function checks whether the hardware is doing transfer. More...
int | XAxiCdma_SetCoalesce (XAxiCdma *InstancePtr, u32 Counter, u32 Delay)
| This function tries to set the interrupt coalescing threshold counter and the delay counter. More...
void | XAxiCdma_GetCoalesce (XAxiCdma *InstancePtr, u32 *CounterPtr, u32 *DelayPtr)
| This function gets the current setting of the interrupt coalescing threshold counter and the delay counter. More...
u32 | XAxiCdma_GetError (XAxiCdma *InstancePtr)
| This function gets the status on error bits. More...
void | XAxiCdma_IntrEnable (XAxiCdma *InstancePtr, u32 Mask)
| This function enables interrupts specified by the Mask. More...
u32 | XAxiCdma_IntrGetEnabled (XAxiCdma *InstancePtr)
| This function gets the mask for the interrupts that are currently enabled. More...
void | XAxiCdma_IntrDisable (XAxiCdma *InstancePtr, u32 Mask)
| This function disables interrupts specified by the Mask. More...
void | XAxiCdma_IntrHandler (void *HandlerRef)
| This function is the interrupt handler for the driver, it handles all the interrupts. More...
u32 | XAxiCdma_SimpleTransfer (XAxiCdma *InstancePtr, UINTPTR SrcAddr, UINTPTR DstAddr, int Length, XAxiCdma_CallBackFn SimpleCallBack, void *CallBackRef)
| This function does one simple transfer submission. More...
int | XAxiCdma_SelectKeyHole (XAxiCdma *InstancePtr, u32 Direction, u32 Select)
| This function configures KeyHole Write/Read Feature. More...
u32 | XAxiCdma_BdRingCntCalc (u32 Alignment, u32 Bytes, UINTPTR BdBuffAddr)
| This function calculates how many BDs can be built using given number of bytes of memory, according to alignment provided. More...
u32 | XAxiCdma_BdRingMemCalc (u32 Alignment, int NumBd)
| This function calculates how much memory is needed to build requested number of BDs. More...
u32 | XAxiCdma_BdRingGetCnt (XAxiCdma *InstancePtr)
| This function gets the total number of BDs in the BD ring. More...
u32 | XAxiCdma_BdRingGetFreeCnt (XAxiCdma *InstancePtr)
| This function gets the number of free BDs. More...
void | XAxiCdma_BdRingSnapShotCurrBd (XAxiCdma *InstancePtr)
| This function grabs a copy of the current BD pointer from the hardware. More...
XAxiCdma_Bd * | XAxiCdma_BdRingGetCurrBd (XAxiCdma *InstancePtr)
| This function grabs a copy of the current BD pointer from the hardware. More...
XAxiCdma_Bd * | XAxiCdma_BdRingNext (XAxiCdma *InstancePtr, XAxiCdma_Bd *BdPtr)
| This function gets the next BD of the current BD on the BD ring. More...
XAxiCdma_Bd * | XAxiCdma_BdRingPrev (XAxiCdma *InstancePtr, XAxiCdma_Bd *BdPtr)
| This function gets the previous BD of the current BD on the BD ring. More...
LONG | XAxiCdma_BdRingCreate (XAxiCdma *InstancePtr, UINTPTR PhysAddr, UINTPTR VirtAddr, u32 Alignment, int BdCount)
| This function creates the BD ring for the driver instance. More...
LONG | XAxiCdma_BdRingClone (XAxiCdma *InstancePtr, XAxiCdma_Bd *TemplateBdPtr)
| This function clones all BDs in the BD ring to be the same as the given BD. More...
LONG | XAxiCdma_BdRingAlloc (XAxiCdma *InstancePtr, int NumBd, XAxiCdma_Bd **BdSetPtr)
| This function requests number of BDs from the BD ring. More...
LONG | XAxiCdma_BdRingUnAlloc (XAxiCdma *InstancePtr, int NumBd, XAxiCdma_Bd *BdSetPtr)
| This function tries to free the number of BDs back to the ring. More...
LONG | XAxiCdma_BdRingToHw (XAxiCdma *InstancePtr, int NumBd, XAxiCdma_Bd *BdSetPtr, XAxiCdma_CallBackFn CallBackFn, void *CallBackRef)
| This function tries to enqueue the number of BDs to the hardware. More...
u32 | XAxiCdma_BdRingFromHw (XAxiCdma *InstancePtr, int BdLimit, XAxiCdma_Bd **BdSetPtr)
| This function tries to retrieve completed BDs from the hardware. More...
u32 | XAxiCdma_BdRingFree (XAxiCdma *InstancePtr, int NumBd, XAxiCdma_Bd *BdSetPtr)
| This function returns the BDs back to the free pool of the BD ring. More...
void | XAxiCdma_BdSetCurBdPtr (XAxiCdma *InstancePtr, UINTPTR CurBdPtr)
| This function set the Current BD ptr of a BD. More...
void | XAxiCdma_BdSetTailBdPtr (XAxiCdma *InstancePtr, UINTPTR TailBdPtr)
| This function set the Tail BD ptr of a BD. More...
void | XAxiCdma_DumpRegisters (XAxiCdma *InstancePtr)
| This function dumps the registers of this DMA instance. More...