dmaps
Vitis Drivers API Documentation
XDmaPs_Cmd Struct Reference

A DMA command consisits of a channel control struct, a block descriptor, a user defined program, a pointer pointing to generated DMA program, and execution result. More...

Data Fields

XDmaPs_ChanCtrl ChanCtrl
 Channel Control Struct. More...
 
XDmaPs_BD BD
 Together with SgLength field, it's a scatter-gather list. More...
 
void * UserDmaProg
 If user wants the driver to execute their own DMA program, this field points to the DMA program. More...
 
int UserDmaProgLength
 The length of user defined DMA program. More...
 
void * GeneratedDmaProg
 The DMA program genreated by the driver. More...
 
int GeneratedDmaProgLength
 The length of the DMA program generated by the driver. More...
 
int DmaStatus
 0 on success, otherwise error code More...
 
u32 ChanFaultType
 Channel fault type in case of fault. More...
 
u32 ChanFaultPCAddr
 Channel fault PC address. More...
 

Detailed Description

A DMA command consisits of a channel control struct, a block descriptor, a user defined program, a pointer pointing to generated DMA program, and execution result.

Field Documentation

XDmaPs_BD XDmaPs_Cmd::BD

Together with SgLength field, it's a scatter-gather list.

Referenced by DmaDoneHandler(), XDmaPs_Example_W_Intr(), XDmaPs_GenDmaProg(), and XDmaPs_Start().

XDmaPs_ChanCtrl XDmaPs_Cmd::ChanCtrl

Channel Control Struct.

Referenced by XDmaPs_Example_W_Intr(), XDmaPs_GenDmaProg(), and XDmaPs_Start().

u32 XDmaPs_Cmd::ChanFaultPCAddr

Channel fault PC address.

Referenced by XDmaPs_FaultISR().

u32 XDmaPs_Cmd::ChanFaultType

Channel fault type in case of fault.

Referenced by XDmaPs_FaultISR().

int XDmaPs_Cmd::DmaStatus

0 on success, otherwise error code

Referenced by XDmaPs_FaultISR(), and XDmaPs_Start().

void* XDmaPs_Cmd::GeneratedDmaProg

The DMA program genreated by the driver.

This field will be set if a user invokes the DMA program generation function. Or the DMA command is finished and a user informs the driver not to release the program buffer. This field has two purposes, one is to ask the driver to generate a DMA program while the DMAC is performaning DMA transactions. The other purpose is to debug the driver.

Referenced by XDmaPs_FaultISR(), XDmaPs_FreeDmaProg(), XDmaPs_GenDmaProg(), XDmaPs_Print_DmaProg(), and XDmaPs_Start().

int XDmaPs_Cmd::GeneratedDmaProgLength

The length of the DMA program generated by the driver.

Referenced by XDmaPs_FreeDmaProg(), XDmaPs_GenDmaProg(), and XDmaPs_Print_DmaProg().

void* XDmaPs_Cmd::UserDmaProg

If user wants the driver to execute their own DMA program, this field points to the DMA program.

Referenced by XDmaPs_Print_DmaProg(), and XDmaPs_Start().

int XDmaPs_Cmd::UserDmaProgLength

The length of user defined DMA program.

Referenced by XDmaPs_Print_DmaProg().