cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
pmaurice
Participant
Participant
242 Views
Registered: ‎10-16-2020

dma-proxy

Jump to solution

I am using vivado/vitis/petalinux 2020.2

I want to use the dma-proxy driver to access my pl axi dma.

so far I took a look to theses webpage: 

https://forums.xilinx.com/t5/Embedded-Linux/dma-proxy-device-tree-modification-petalinux-2018-3/m-p/1061428#M39229

https://forums.xilinx.com/t5/Embedded-Linux/dma-proxy-tutorial-xilinx-vdma-errors/td-p/1062464

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842418/Linux+DMA+From+User+Space

 

I have added in system-user.dtsi : 

dma_proxy {
compatible ="xlnx,dma_proxy";
dmas = <&axi_dma_0 0
&axi_dma_0 1>;
dma-names = "dma_proxy_tx", "dma_proxy_rx";
};

I have no problem to build, when I boot on the zynq and I do ls /dev , I only see a node called dmaproxy, there is no dma_proxy_tx / rx node created. And when I do lsmod , I see the dmaproxy driver loaded.

when I load/unload manually the driver it doesn't do anything more.

What do I need to do , to have access to dma_proxy_tx and dma_proxy_rx node ?????? 

This thing is suppose to be straight forward but like every time , Xilinxs lack of RECENT AND WORKING documentation leads me here again and again.

 

 

1 Solution

Accepted Solutions
pmaurice
Participant
Participant
178 Views
Registered: ‎10-16-2020

Apparently, on a zynq ultrascale+ the video coded units auto-install a dmaproxy module which is loaded as a char device. But that dmaproxy driver is not the one needed to perform dma.

Basically, you need to add module in petalinux and drop the code of dma-proxy (posted on another forum thread), add the node in device tree and once you build and load the driver , i have saw dma_proxy_tx and dma_proxy_rx

View solution in original post

0 Kudos
1 Reply
pmaurice
Participant
Participant
179 Views
Registered: ‎10-16-2020

Apparently, on a zynq ultrascale+ the video coded units auto-install a dmaproxy module which is loaded as a char device. But that dmaproxy driver is not the one needed to perform dma.

Basically, you need to add module in petalinux and drop the code of dma-proxy (posted on another forum thread), add the node in device tree and once you build and load the driver , i have saw dma_proxy_tx and dma_proxy_rx

View solution in original post

0 Kudos