07-01-2020 05:20 PM
I'm working on a KCU105 board with Vivado/PetaLinux 2019.2.
The design example xilinx-kcu105-axi-full-2019.2 includes an ethernet subsystem with DMA. All working fine so far (except for the occasional "DMA Rx error" message under Linux which doesn't seem to be an issue though).
I need to add a second DMA instance to the design but as as soon as I do this, the ethernet stops working. It still gets recognised by the kernel but always reports "Link is Down". When I use u-boot then the PHY auto negotiation results in a timeout.
Am I missing something obvious here?
07-02-2020 10:51 AM
Hi @gottfriedlechner ,
There is a conflict to use AXI Ethernet Subsystem and an additional AXI DMA in a Linux system.
1) AXI Ethernet linux dirver includes AXI DMA driver in which this AXI DMA is attached to AXI Ethernet IP. So when users use AXI ethernet IP, they will need to manually disable AXI DMA driver.
2) If you add a 2nd AXI DMA in your system, you will need to enable AXI DMA driver for this DMA to work.
Currently there is not a good solution. We see customers create their own drivers in the past.
07-05-2020 10:02 PM
Thanks for the response and explanation - that makes sense.
I was planning to write my own DMA driver for this project - hence, disabling the AXI DMA driver is not an issue.
However, even when I disable the AXI DMA driver then AXI Ethernet is not working when a second DMA engine is in the design.
For testing, I tried to I disconnect the interrupts from the second DMA engine and then everything is working fine.
Will still try to get this working and post if I found a solution but any advise would be much appreciated.
07-06-2020 12:13 AM
As a follow up - I just reproduced this in a clean environment with the following steps: