cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
383 Views
Registered: ‎04-06-2018

failing at: dmaengine_prep_interleaved_dma

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.

 

0 Kudos