Alt_avalon_sgdma_construct_stream_to_mem_desc() – Altera Embedded Peripherals IP User Manual
Page 211
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