Git Product home page Git Product logo

Comments (5)

bmartini avatar bmartini commented on August 22, 2024

The zynq-xdma project is not being actively updated by me. I'll accept any patches or fixes but the rapid change of Xilinx code changes got too much for me to keep up with.

I have an alternative project that replaced the Xilinx DMA Engine, kernel driver etc:

https://github.com/bmartini/zynq-axis

The zynq-aixs project does everything that the zynq-xdma project does but is also easier to control from the FPGA. When I replaced all the xdma to axis in my projects I was able to get a reduced resource utilization and a better speed.

If you do fine a solution to your problem feel, free to send me the patch and I'll pull.

from zynq-xdma.

kuldeepj avatar kuldeepj commented on August 22, 2024

Thank you for the prompt response. I am presently going through the zynq-axis, I see that you have made your custom logic and interfaced it to the S_AXI_HP bus . I am presently using the AXI DMA IP. Any pointers in regards of using the zynq-axis with AXI DMA IP will be greatly appreciated. I could understand mapping of the configuration registers using the UIO framework, however I could not understand the mapping of MM2S and S2MM channels (wrt to the address map of the vivado hardware project)

As soon as I am able to debug the DMA engine wrapper code I will post it.

Thank you in advance.

from zynq-xdma.

kuldeepj avatar kuldeepj commented on August 22, 2024

I checked the devicetree/bindings/dma/xilinx documentation and commented out the following line

interrupts = <0 30 4>, <0 29 4>;

the irqpoll error vanished. Now I am getting this output

<xdma> init: registered
<xdma> probe: number of devices found: 1
random: nonblocking pool is initialized
<xdma> file: open()
<xdma> ioctl: XDMA_TEST_TRANSFER
<xdma> test: rx buffer before transmit:
Y   Y   Y   Y   Y   Y   Y   Y   Y   Y
<xdma> test: xdma_start_transfer rx
<xdma> test: xdma_start_transfer tx
<xdma> test: time to prepare DMA channels [us]: 29
<xdma> Error: transfer timed out
<xdma> test: DMA transfer time [us]: -3405
<xdma> test: DMA bytes sent: 1024
<xdma> test: DMA speed in Mbytes/s: 0
<xdma> test: rx buffer after transmit:
Y   Y   Y   Y   Y   Y   Y   Y   Y   Y
<xdma> file: close()
root@linaro-ubuntu-desktop:~# /build/zynq-xdma/demo/app
test: dst buffer before transmit:
A   A   A   A   A   A   A   A   A   A
test: dst buffer after transmit:
A   A   A   A   A   A   A   A   A   A
root@linaro-ubuntu-desktop:~# /build/zynq-xdma/demo/
.Xil/      .settings/ app        demo       test       
root@linaro-ubuntu-desktop:~# /build/zynq-xdma/demo/demo 
test: rx buffer before transmit:
C   C   C   C   C   C   C   C   C   C
Number of devices: 1
devices tx chan: 7e0bb8b4, tx cmp:7e145080, rx chan: 7e0bb7f4, rx cmp: 7e145100
config rx chans
config tx chans
config rx buffer
config tx buffer
config rx trans
config tx trans
test: rx buffer after transmit:
C   C   C   C   C   C   C   C   C   C

I am unable to transfer the data. I am checking for bugs. Will the difference between address range/map in Vivado and the driver cause this problem? Will keep you posted though.
Thank you in advance.

from zynq-xdma.

kuldeepj avatar kuldeepj commented on August 22, 2024

Your code is working fine for Direct DMA. I had limited the addresses mapping in the Vivado to just 4MB for the AXI DMA. I guess the DMA engine was using some other base address, and hence the Address Decode Error as

xilinx-dma 40400000.dma: Channel 8dfe8590 has errors 41, cdr 0 tdr 0

After changing the address map in Vivado to cover the whole 1GB, the error is no longer present. One curious question though, If I wish to restrict the physical address used by the dmaengine/axidma driver, how do you go about it?
Thank you for your help and sharing great piece of code.

from zynq-xdma.

Chihhsiangchen avatar Chihhsiangchen commented on August 22, 2024

Hi Kildeepj and bmartini,

I encounter the same Error as belows:
xilinx-vdma 40400000.dma: Channel 8dfe8590 has errors 41, cdr 0 tdr 0

I have tried your solutions to change the address map in Vivado to 1GB. But the issue still there.

Do you have any idea?

from zynq-xdma.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.