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: 
Highlighted
Contributor
Contributor
561 Views
Registered: ‎04-06-2018

driver tainted and no responding to create_channel

so ,  I am trying to use the driver dma_proxy from

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

I added the node in my device tree:

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

and I created and compiled the module :

petalinux-create -t modules -n dmaproxy

petalinux-build -c dmaproxy

but then when I insmod it I get :

dmesg:

dmaproxy: loading out-of-tree module taints kernel.

and nothing else, and the channels are not in the /dev

???

My axidmatest is working , so it means the Hardware is okay ....

not a single drive is working ... I have to be missing something.

 

/include/ "system-conf.dtsi"
/ {
amba_pl: amba_pl {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "simple-bus";
        ranges ;
        axi_dma_0: dma@40400000 {
            #dma-cells = <1>;
            clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_mm2s_aclk", "m_axi_s2mm_aclk";
            clocks = <&clkc 15>, <&clkc 15>, <&clkc 15>, <&clkc 15>;
            compatible = "xlnx,axi-dma-1.00.a";
            interrupt-names = "mm2s_introut", "s2mm_introut";
            interrupt-parent = <&intc>;
            interrupts = <0 29 4 0 30 4>;
            reg = <0x40400000 0x10000>;
            xlnx,addrwidth = <0x40>;
            //xlnx,sg-length-width = <0xe>;
            dma-channel@40400000 {
                compatible = "xlnx,axi-dma-mm2s-channel";
                dma-channels = <0x1>;
                interrupts = <0 29 4>;
                xlnx,datawidth = <0x40>;
                xlnx,device-id = <0x0>;
            };
            dma-channel@40400030 {
                compatible = "xlnx,axi-dma-s2mm-channel";
                dma-channels = <0x1>;
                interrupts = <0 30 4>;
                xlnx,datawidth = <0x40>;
                xlnx,device-id = <0x1>;
            };
        };
        /*axidmatest_1: axidmatest@1 {
                         compatible ="xlnx,axi-dma-test-1.00.a";
                         dmas = <&axi_dma_0 0
                             &axi_dma_0 1>;
                         dma-names = "axidma0", "axidma1";
        };*/
        dma_proxy: dma_proxy@0 {
                compatible = "xlnx,dmaproxy";
                dmas = <&axi_dma_0 0 &axi_dma_0 1>;
                dma-names = "dma_proxy_tx", "dma_proxy_rx";
            };
        
    };
};

0 Kudos
7 Replies
Contributor
Contributor
524 Views
Registered: ‎04-06-2018

Re: driver tainted and no responding to create_channel

I am wondering if my drivers (the ones I took from internet) are failing because of my interruptions , I set the IRQs to 29 and 30, and kernel maps them to

49:          0          0     GIC-0  61 Level     xilinx-dma-controller
50:          0          0     GIC-0  62 Level     xilinx-dma-controller

but axidmatest works (which runs from the Kernel space only).

dma1chan0-dma1c: verifying source buffer...
dma1chan0-dma1c: verifying dest buffer...
dma1chan0-dma1c: #4: No errors with

 49:          5          0     GIC-0  61 Level     xilinx-dma-controller
 50:          5          0     GIC-0  62 Level     xilinx-dma-controller

and the IRQs happens in the axidmatest.

 

0 Kudos
Participant jiv4ik
Participant
504 Views
Registered: ‎06-23-2017

Re: driver tainted and no responding to create_channel

0 Kudos
Contributor
Contributor
500 Views
Registered: ‎04-06-2018

Re: driver tainted and no responding to create_channel

thank you ! but it is what I am doing right ? since my IRQ are in 61 and 62 , they are : "These have IRQ numbers in the range 61--68, and 84--91."
0 Kudos
Participant jiv4ik
Participant
493 Views
Registered: ‎06-23-2017

Re: driver tainted and no responding to create_channel

Your IRQ are okay in my opinion. What is the problem, I unfortunately can not say. At the moment I myself am trying to build a simple project with axi dma chanal to userspace petalinux. What version of Vivado are you using?

0 Kudos
Contributor
Contributor
490 Views
Registered: ‎04-06-2018

Re: driver tainted and no responding to create_channel

I am trying to do the same thing , I am using vivado 2018.2, and I worked to increase the CMA memory , and the shared one , the axidmatest self test is working , but this drivers are not ... I wonder if it is some mismatch in the device tree / driver ..
0 Kudos
Participant jiv4ik
Participant
482 Views
Registered: ‎06-23-2017

Re: driver tainted and no responding to create_channel

In my project does not work until the dmatest(

I see:

dma1chan0-dma1c: #0: tx test timed out
dma1chan0-dma1c: #1: tx test timed out
dma1chan0-dma1c: #2: tx test timed out
dma1chan0-dma1c: #3: tx test timed out
dma1chan0-dma1c: #4: tx test timed out

 I am using vivado 2018.3.

 

0 Kudos
Contributor
Contributor
475 Views
Registered: ‎04-06-2018

Re: driver tainted and no responding to create_channel

my bus is 64, the channels have different ids (peta was creating them with the same id), I enabled CMA, edited to 60 MB , and shared CMA too , then I created the axidmatest node in the device tree.
0 Kudos