DMA Accelerator Functional Unit User Guide: Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA

ID 683263
Date 3/06/2020
Public

4.1.2. fpgaDmaTransferSync()

fpgaDmaTransferSync() accepts a handle to an opened DMA and performs a transfer of data from the source address to the destination address. This function is a blocking call and returns when the DMA transfer completes.

Prototype fpga_result fpgaDmaTransferSync(fpga_dma_handle dma, uint64_t dst, uint64_t src, size_t count, fpga_dma_transfer_t type)
Arguments dma

dmaInput specifying DMA handle obtained from fpgaDmaOpen().

dst

Input specifying the destination byte address of the transfer. To maximize performance, make dst a multiple of 64 bytes.

src

Input specifying the source byte address of the transfer. To maximize performance, make src a multiple of 64 bytes.

count

Input specifying the length of the transfer in bytes. To maximize performance, make count a multiple of 64 bytes.

type

Input specifying the type of transfer. type has the following valid values: HOST_TO_FPGA_MM, FPGA_TO_HOST_MM, or FPGA_TO_FPGA_MM.

Returns FPGA_OK on success; otherwise error return code.