Hi, I am trying to use a device driver to transfer data from petalinux to the fpga and back.
And I'm getting the error :
axidma: axidma_dma.c: axidma_prep_transfer: 236: Unable to prepare the dma engine for the DMA transmit buffer.
cma: cma_release(page effd1000)
cma: cma_release(page effc1000)
cma: cma_alloc(cma c184d420, count 2025, align 8)
cma: cma_alloc(): returned effc1000
cma: cma_alloc(cma c184d420, count 2025, align 8)
cma: cma_alloc(): returned effd1000
which comes from the function dmaengine_prep_interleaved_dma, but my vivado project is using a DMA in direct mode,
which I believe is related to this issue. The driver is fromhttps://github.com/bperez77/xilinx_axidma
do you guys also think SG vs Direct mode is the problem ?
My project transfers small amount of data from a application running in the user space using the registers of the DMA to configure and control it, but fails to large amount of data that's y I deciced to go LDD, or , the FPGA project is kinda working, but not in a efficient way.