Visible to Intel only — GUID: iga1401397409604
Ixiasoft
Visible to Intel only — GUID: iga1401397409604
Ixiasoft
32.7.6. 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 |
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 hosted by the SG-DMA controller’s chain read and chain write Avalon® host ports. Care must be taken to ensure that both *desc and *next point to areas of memory hosted by the controller. |