beautypg.com

Alt_avalon_sgdma_construct_stream_to_mem_desc() – Altera Embedded Peripherals IP User Manual

Page 211

background image

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-MM

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

Prototype:

void alt_avalon_sgdma_construct_stream_to_mem_desc(alt_sgdma_descriptor

*desc, alt_sgdma_descriptor *next, alt_u32 *write_addr, alt_u16 length_or_eop,

int write_fixed)

Thread-safe:

Yes.

Available from

ISR:

Yes.

Include:

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

avalon_sgdma_regs.h>

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.
*write_addr—the first write address for the SG-DMA transfer.
length_or_eop—the number of bytes for the transfer. If set to zero (0x0), the

transfer continues until an EOP signal is received from the Avalon-ST interface.
write_fixed—if non-zero, the SG-DMA will write to a fixed address.

Returns:

void

21-20

alt_avalon_sgdma_construct_stream_to_mem_desc()

UG-01085

2014.24.07

Altera Corporation

Scatter-Gather DMA Controller Core

Send Feedback