Visible to Intel only — GUID: iga1446069865039
Ixiasoft
Visible to Intel only — GUID: iga1446069865039
Ixiasoft
31.8.4. alt_msgdma_standard_descriptor_sync_transfer
Prototype: | int alt_msgdma_standard_descriptor_sync_transfer(alt_msgdma_dev *dev, alt_msgdma_standard_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 a standard descriptor structure |
Returns: | “0” for success, “error” indicates errors or conditions causing msgdma stop issuing commands to hosts, suggest checking the bit set in the error with CSR status register.”-EPERM” indicates operation not permitted due to descriptor type conflict. “-ETIME” indicates Time out and skipping the looping after 5 msec.
|
Description: | A standard descriptor needs to be constructed and passing as a parameter pointer to *desc when calling this function. This function will call helper function “alt_msgdma_descriptor_sync_transfer” to start a blocking transfer of one standard descriptor at a time. If the FIFO buffer for a read or write is full at the time of this call, the routine will wait until a free FIFO buffer is available to continue processing or a 5 msec time out. The function will return “error” if errors or conditions causing the dispatcher to stop issuing the commands to both the read and write hosts before both the read and write command buffers are empty. It is the responsibility of the application developer to check errors and completion status. |