Visible to Intel only — GUID: iga1446069836179
Ixiasoft
Visible to Intel only — GUID: iga1446069836179
Ixiasoft
31.8.2. alt_msgdma_extended_descriptor_async_transfer
Prototype: | int alt_msgdma_extended_descriptor_async_transfer(alt_msgdma_dev *dev, alt_msgdma_extended_descriptor *desc) |
Include: | < modular_sgdma_dispatcher.h >, < altera_msgdma_csr_regs.h>, <altera_msgdma_descriptor_regs.h>, <sys/alt_errno.h>, <sys/alt_irq.h>, <io.h> |
Parameters: | *dev — a pointer to mSGDMA instance. *desc — a pointer to an extended descriptor structure |
Returns: | “0” for success, –ENOSPC indicates FIFO buffer is full, –EPERM indicates operation not permitted due to descriptor type conflict, -ETIME indicates time out and skipping the looping after 5 msec.
|
Description: | A descriptor needs to be constructed and passing as a parameter pointer to the *desc when calling this function. This function will call the helper function “alt_msgdma_descriptor_async_transfer” to start a non-blocking transfer of one standard descriptor at a time. If the FIFO buffer for a read/write is full at the time of this call, the routine will immediately return –ENOSPC, the application can then decide how to proceed without being blocked.-ETIME will be returned if the time spending for writing descriptor to the dispatcher takes longer than 5 msec. You are advised to refer the helper function for details. If a callback routine has been previously registered with this particular mSGDMA controller, the transfer will be set up to enable interrupt generation. |