dmaps
Xilinx 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.
 
XDmaPs_BD BD
 
                    Together with SgLength field,

it's a scatter-gather list.

 
void * UserDmaProg
 
            If user wants the driver to

execute their own DMA program, this field points to the DMA program.

 
int UserDmaProgLength
 
            The length of user defined

DMA program.

 
void * GeneratedDmaProg
 
              The DMA program genreated

by the driver.

 
int GeneratedDmaProgLength
 
      The length of the DMA program

generated by the driver

 
int DmaStatus
 0 on success, otherwise error code
 
u32 ChanFaultType
 Channel fault type in case of fault.
 
u32 ChanFaultPCAddr
 Channel fault PC address.
 

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().