emacps
Xilinx SDK 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...
 
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

◆ AllCnt

u32 XEmacPs_BdRing::AllCnt

Total Number of BDs for channel.

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

◆ BaseBdAddr

UINTPTR XEmacPs_BdRing::BaseBdAddr

Virtual address of 1st BD in list.

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

◆ BdaRestart

XEmacPs_Bd* XEmacPs_BdRing::BdaRestart

BDA to load when channel is started.

◆ FreeCnt

u32 XEmacPs_BdRing::FreeCnt

Number of allocatable BDs in the free group.

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

◆ FreeHead

XEmacPs_Bd* XEmacPs_BdRing::FreeHead

First BD in the free group.

Referenced by XEmacPs_BdRingAlloc(), and XEmacPs_BdRingCheck().

◆ HighBdAddr

UINTPTR XEmacPs_BdRing::HighBdAddr

Virtual address of last BD in the list.

Referenced by XEmacPs_BdRingCheck().

◆ HwCnt

u32 XEmacPs_BdRing::HwCnt

◆ HwHead

XEmacPs_Bd* XEmacPs_BdRing::HwHead

First BD in the work group.

Referenced by XEmacPs_BdRingCheck(), XEmacPs_BdRingFromHwRx(), and XEmacPs_BdRingFromHwTx().

◆ HwTail

XEmacPs_Bd* XEmacPs_BdRing::HwTail

Last BD in the work group.

Referenced by XEmacPs_BdRingCheck().

◆ Length

u32 XEmacPs_BdRing::Length

Total size of ring in bytes.

◆ PhysBaseAddr

UINTPTR XEmacPs_BdRing::PhysBaseAddr

Physical address of 1st BD in list.

Referenced by XEmacPs_BdRingCheck().

◆ PostCnt

u32 XEmacPs_BdRing::PostCnt

◆ PostHead

XEmacPs_Bd* XEmacPs_BdRing::PostHead

First BD in the post-work group.

Referenced by XEmacPs_BdRingCheck(), and XEmacPs_BdRingFree().

◆ PreCnt

u32 XEmacPs_BdRing::PreCnt

Number of BDs in pre-work group.

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

◆ PreHead

XEmacPs_Bd* XEmacPs_BdRing::PreHead

First BD in the pre-work group.

Referenced by XEmacPs_BdRingCheck(), and XEmacPs_BdRingToHw().

◆ RunState

u32 XEmacPs_BdRing::RunState

Flag to indicate DMA is started.

Referenced by XEmacPs_BdRingCheck(), and XEmacPs_BdRingClone().

◆ Separation

u32 XEmacPs_BdRing::Separation

Number of bytes between the starting address of adjacent BDs.

Referenced by XEmacPs_BdRingCheck(), and XEmacPs_BdRingClone().