emacps
Vitis Drivers API Documentation
xemacps_bdring.c File Reference

Functions

LONG XEmacPs_BdRingCreate (XEmacPs_BdRing *RingPtr, UINTPTR PhysAddr, UINTPTR VirtAddr, u32 Alignment, u32 BdCount)
 Using a memory segment allocated by the caller, create and setup the BD list for the given DMA channel. More...
 
LONG XEmacPs_BdRingClone (XEmacPs_BdRing *RingPtr, XEmacPs_Bd *SrcBdPtr, u8 Direction)
 Clone the given BD into every BD in the list. More...
 
LONG XEmacPs_BdRingAlloc (XEmacPs_BdRing *RingPtr, u32 NumBd, XEmacPs_Bd **BdSetPtr)
 Reserve locations in the BD list. More...
 
LONG XEmacPs_BdRingUnAlloc (XEmacPs_BdRing *RingPtr, u32 NumBd, XEmacPs_Bd *BdSetPtr)
 Fully or partially undo an XEmacPs_BdRingAlloc() operation. More...
 
LONG XEmacPs_BdRingToHw (XEmacPs_BdRing *RingPtr, u32 NumBd, XEmacPs_Bd *BdSetPtr)
 Enqueue a set of BDs to hardware that were previously allocated by XEmacPs_BdRingAlloc(). More...
 
u32 XEmacPs_BdRingFromHwTx (XEmacPs_BdRing *RingPtr, u32 BdLimit, XEmacPs_Bd **BdSetPtr)
 Returns a set of BD(s) that have been processed by hardware. More...
 
u32 XEmacPs_BdRingFromHwRx (XEmacPs_BdRing *RingPtr, u32 BdLimit, XEmacPs_Bd **BdSetPtr)
 Returns a set of BD(s) that have been processed by hardware. More...
 
LONG XEmacPs_BdRingFree (XEmacPs_BdRing *RingPtr, u32 NumBd, XEmacPs_Bd *BdSetPtr)
 Frees a set of BDs that had been previously retrieved with XEmacPs_BdRingFromHw(). More...
 
LONG XEmacPs_BdRingCheck (XEmacPs_BdRing *RingPtr, u8 Direction)
 Check the internal data structures of the BD ring for the provided channel. More...
 
void XEmacPs_BdRingPtrReset (XEmacPs_BdRing *RingPtr, void *virtaddrloc)
 Reset BD ring head and tail pointers. More...