emacps
Vitis Drivers API Documentation
XEmacPs_BdRing Struct Reference

This is an internal structure used to maintain the DMA list. More...

Data Fields

UINTPTR PhysBaseAddr
 Physical address of 1st BD in list. More...
 
UINTPTR BaseBdAddr
 Virtual address of 1st BD in list. More...
 
UINTPTR HighBdAddr
 Virtual address of last BD in the list. More...
 
u32 Length
 Total size of ring in bytes. More...
 
u32 RunState
 Flag to indicate DMA is started. More...
 
u32 Separation
 Number of bytes between the starting address of adjacent BDs. More...
 
XEmacPs_BdFreeHead
 First BD in the free group. More...
 
XEmacPs_BdPreHead
 First BD in the pre-work group. More...
 
XEmacPs_BdHwHead
 First BD in the work group. More...
 
XEmacPs_BdHwTail
 Last BD in the work group. More...
 
XEmacPs_BdPostHead
 First BD in the post-work group. More...
 
XEmacPs_BdBdaRestart
 BDA to load when channel is started. More...
 
volatile u32 HwCnt
 Number of BDs in work group. More...
 
u32 PreCnt
 Number of BDs in pre-work group. More...
 
u32 FreeCnt
 Number of allocatable BDs in the free group. More...
 
u32 PostCnt
 Number of BDs in post-work group. More...
 
u32 AllCnt
 Total Number of BDs for channel. More...
 

Detailed Description

This is an internal structure used to maintain the DMA list.

Field Documentation

u32 XEmacPs_BdRing::AllCnt

Total Number of BDs for channel.

Referenced by XEmacPs_BdRingCheck(), XEmacPs_BdRingClone(), and XEmacPs_BdRingCreate().

UINTPTR XEmacPs_BdRing::BaseBdAddr
XEmacPs_Bd* XEmacPs_BdRing::BdaRestart

BDA to load when channel is started.

Referenced by XEmacPs_BdRingCreate().

u32 XEmacPs_BdRing::FreeCnt
XEmacPs_Bd* XEmacPs_BdRing::FreeHead
UINTPTR XEmacPs_BdRing::HighBdAddr

Virtual address of last BD in the list.

Referenced by XEmacPs_BdRingCheck(), and XEmacPs_BdRingCreate().

volatile u32 XEmacPs_BdRing::HwCnt
u32 XEmacPs_BdRing::Length

Total size of ring in bytes.

Referenced by XEmacPs_BdRingCreate().

UINTPTR XEmacPs_BdRing::PhysBaseAddr

Physical address of 1st BD in list.

Referenced by XEmacPs_BdRingCheck(), and XEmacPs_BdRingCreate().

u32 XEmacPs_BdRing::PostCnt
XEmacPs_Bd* XEmacPs_BdRing::PostHead

First BD in the post-work group.

Referenced by XEmacPs_BdRingCheck(), XEmacPs_BdRingCreate(), XEmacPs_BdRingFree(), and XEmacPs_BdRingPtrReset().

u32 XEmacPs_BdRing::PreCnt
XEmacPs_Bd* XEmacPs_BdRing::PreHead

First BD in the pre-work group.

Referenced by XEmacPs_BdRingCheck(), XEmacPs_BdRingCreate(), XEmacPs_BdRingPtrReset(), and XEmacPs_BdRingToHw().

u32 XEmacPs_BdRing::RunState

Flag to indicate DMA is started.

Referenced by XEmacPs_BdRingCheck(), XEmacPs_BdRingClone(), and XEmacPs_BdRingCreate().

u32 XEmacPs_BdRing::Separation

Number of bytes between the starting address of adjacent BDs.

Referenced by XEmacPs_BdRingCheck(), XEmacPs_BdRingClone(), and XEmacPs_BdRingCreate().