Xilinx / dma_ip_drivers

Xilinx QDMA IP Drivers
https://xilinx.github.io/dma_ip_drivers/
578 stars 420 forks source link

Updated drivers for Linux 6.8.9 #275

Closed gonsolo closed 6 months ago

gonsolo commented 7 months ago

I don't expect this to be merged as I cleaned up a lot of stuff which is probably unnecessary but at least future programmers will have a reference to an up-to-date and working XDMA driver!

makslevental commented 6 months ago

Umm why did you move/delete stuff? It's pretty hard to tell what the diff is...

gonsolo commented 6 months ago

Umm why did you move/delete stuff? It's pretty hard to tell what the diff is...

It's probably easiest to check it out somewhere else and diff the xdma/xvsec directories.

Sorry about the mess, the redundant XDMA/linux_kernel/xdma typing made me ... unhappy.

(And nothing of this would have been necessary if AMD kept their drivers updated or upstream in the kernel.)

gonsolo commented 6 months ago

BTW: I have a design with a Nitefury II running, but XDMA can only find the config bar if the kernel is booted with pci=nomsi and the xdma kernel module is inserted with sudo modprobe xdma poll_mode=1 interrupt_mode=2. I haven't looked into this further as everything is running now, but it would be nice if XDMA would work in MSI (default) mode with interrupts too.

hinxx commented 6 months ago

it would be nice if XDMA would work in MSI (default) mode with interrupts too.

It does. We're using MSI & interrupts without any issues.

gonsolo commented 6 months ago

it would be nice if XDMA would work in MSI (default) mode with interrupts too. It does. We're using MSI & interrupts without any issues.

Ok. Can you think of a reason why the config bar can't be found as soon as I change one of the parameters, kernel pci=nomsi and xdma module poll_mode=1 interrupt_mode=2?

hinxx commented 6 months ago

Can you think of a reason why the config bar can't be found as soon as I change one of the parameter

No, I can't. It's likely to do with the IP core config or something. But I'm no firmware developer, so..

On a related note, someone posted a nice step-by-step tutorial on IP core config that might be of use for you; browse through the issues here it was not long ago.

gonsolo commented 6 months ago

Can you think of a reason why the config bar can't be found as soon as I change one of the parameter No, I can't. It's likely to do with the IP core config or something. But I'm no firmware developer, so..

Ok.

On a related note, someone posted a nice step-by-step tutorial on IP core config that might be of use for you; browse through the issues here it was not long ago.

I search the issues but didn't find that tutorial. :( But thanks anyways.

Unlicensed-driver-ljx commented 2 months ago

@gonsolo 能分享一下驱动程序吗,祝你工作顺利

gonsolo commented 2 months ago

能分享一下驱动程序吗,祝你工作顺利

It's here in my branch: https://github.com/gonsolo/dma_ip_drivers/tree/gonsolo It works on the latest kernel (6.10.9), and in the README are instructions how I finally got it to find the config bar.