xdma error : Failed to dump register
Hi, I use IMX8MM to communicate with zynq7035 through PCIE2.0x1 interface.
This is block design of zynq7035:
And the configuration of xdma is:

These are the processes how i test PCIE:
- Write a constant 32bits value to AXI-Lite register,and readback to check if they are equal.
- Write 10MBytes block data to AXI-Stream,and readback to check if they are equal.
But the AXI-Stream sometimes become failed with error messages:
[10788.112808] xdma:xdma_xfer_submit: xfer 0x00000000ecec6f5c,8388608, s 0x1 timed out, ep 0x900000.
[10788.172892] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x00000000f7add3ea) = 0xffffffff (id).
[10788.181329] xdma:engine_reg_dump: 0-H2C0-MM: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[10788.190891] xdma:engine_status_read: Failed to dump register
[10788.196547] xdma:xdma_xfer_submit: Failed to read engine status
The error messages may happen in10 hours, 3 hours,30 minutes after start the test.
I used the newest version of dma_ip_drivers in master branch.
I found the default value of h2c_timeout and c2h_timeout are 10s.Which means it's long enough to get data from C2H.
It looks like that xdma is crashed. How can i resolve the problem?
Thanks in advance!
@KcMeterCEC did you manage to figure this out?
@makslevental Hi, I have tried:
- Update linux kernel to newleast version(5.4.160).
- Use riffa driver instead of xdma driver.
But didn't solve this problem. So i think this is hardware problem.
@KcMeterCEC oh interesting. I'm curious: were you able to get riffa to work?
@makslevental Hi, Yes, riffa works well.And the api of riffa for user space is very easy to use.
#317