axicdma
Vitis Drivers API Documentation
xaxicdma_bdring.c File Reference

Functions

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...
 
void XAxiCdma_BdSetCurBdPtr (XAxiCdma *InstancePtr, UINTPTR CurBdPtr)
 This function set the Current BD ptr of a BD. More...
 
XAxiCdma_BdXAxiCdma_BdRingGetCurrBd (XAxiCdma *InstancePtr)
 This function grabs a copy of the current BD pointer from the hardware. 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...
 
void XAxiCdma_BdSetTailBdPtr (XAxiCdma *InstancePtr, UINTPTR TailBdPtr)
 This function set the Tail BD ptr of a BD. More...
 
XAxiCdma_BdXAxiCdma_BdRingNext (XAxiCdma *InstancePtr, XAxiCdma_Bd *BdPtr)
 This function gets the next BD of the current BD on the BD ring. More...
 
XAxiCdma_BdXAxiCdma_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...