Alt_avalon_sgdma_check_descriptor_status(), Alt_avalon_sgdma_check_descriptor_status() -22 – Altera Embedded Peripherals IP User Manual

Page 213

Advertising
background image

Parameters:

*desc—a pointer to the descriptor being constructed.
*next—a pointer to the “next” descriptor. This does not need to be a complete or

functional descriptor, but must be properly allocated.
*read_addr—the first read address for the SG-DMA transfer.
length—the number of bytes for the transfer.
read_fixed—if non-zero, the SG-DMA reads from a fixed address.
generate_sop—if non-zero, the SG-DMA generates a SOP on the Avalon-ST

interface when commencing the transfer.
generate_eop—if non-zero, the SG-DMA generates an EOP on the Avalon-ST

interface when completing the transfer.
atlantic_channel—an 8-bit Avalon-ST channel number. Channels are currently

not supported. Set this parameter to 0.

Returns:

void

Description:

This function constructs a single SG-DMA descriptor in the memory specified in

alt_avalon_sgdma-descriptor

*desc for an Avalon-MM to Avalon-ST

transfer. The destination (write) data for the transfer goes to the Avalon-ST

interface connected to the SG-DMA controller's streaming write port. The

function sets the OWNED_BY_HW bit in the descriptor's control field, marking

the completed descriptor as ready to run. The descriptor is processed when the

SG-DMA controller receives the descriptor and the RUN bit is 1.
The next field of the descriptor being constructed is set to the address in *next.

The OWNED_BY_HW bit of the descriptor at *next is explicitly cleared. Once

the SG-DMA completes processing of the *desc, it does not process the

descriptor at *next until its OWNED_BY_HW bit is set. To create a descriptor

chain, you can repeatedly call this function using the previous call's *next pointer

in the *desc parameter.
You are responsible for properly allocating memory for the creation of both the

descriptor under construction as well as the next descriptor in the chain.

Descriptors must be in a memory device mastered by the SG-DMA controller’s

chain read and chain write Avalon master ports. Care must be taken to ensure

that both *desc and *next point to areas of memory mastered by the controller.

alt_avalon_sgdma_check_descriptor_status()

Prototype:

int alt_avalon_sgdma_check_descriptor_status(alt_sgdma_descriptor *desc)

Thread-safe:

Yes.

Available from

ISR:

Yes.

Include:

<altera_avalon_sgdma.h>, <altera_avalon_sgdma_descriptor.h>, <altera_

avalon_sgdma_regs.h>

21-22

alt_avalon_sgdma_check_descriptor_status()

UG-01085

2014.24.07

Altera Corporation

Scatter-Gather DMA Controller Core

Send Feedback

Advertising