Alt_avalon_sgdma_construct_mem_to_stream_desc() – Altera Embedded Peripherals IP User Manual

Page 212

Advertising
background image

Description:

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

alt_avalon_sgdma_descriptor

*desc for an Avalon-ST to Avalon-MM

transfer. The source (read) data for the transfer comes from the Avalon-ST

interface connected to the SG-DMA controller's streaming read 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 must properly allocate 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_construct_mem_to_stream_desc()

Prototype:

void alt_avalon_sgdma_construct_mem_to_stream_desc(alt_sgdma_descriptor

*desc, alt_sgdma_descriptor *next, alt_u32 *read_addr, alt_u16 length, int read_

fixed, int generate_sop, int generate_eop, alt_u8 atlantic_channel)

Thread-safe:

Yes.

Available

from ISR:

Yes.

Include:

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

avalon_sgdma_regs.h>

UG-01085

2014.24.07

alt_avalon_sgdma_construct_mem_to_stream_desc()

21-21

Scatter-Gather DMA Controller Core

Altera Corporation

Send Feedback

Advertising