| dmaps Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

- Data Structures
- Data Fields

Data Fields
XDmaPs_Cmd Struct Reference
Overview

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