UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Contributor
Contributor
103 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