Open jbelot opened 3 months ago
Hi, thanks for the questions and for giving the platform a try!
My guess is that the driver is no longer compatible with the more recent linux kernel (mine is 6.5.0-41-generic).
Correct. We developed the driver and platform using kernel 5.4; at least that is the version on my machine. The kernel headers APIs changed between 5.4 and 6.5, which is the root cause of the first issue. If I recall correctly, your proposed "First Workaround" was sufficient in my testing to compile, load, and run the weather stencil test on my machine with kernel 6.4 (with the same warn_unused_result warnings present).
I have not encountered your second issue and kernel loading worked after the first fix for me on kernel 6.4. To confirm, did you program the VCK5000 (and warm reboot) and then confirm the card was visible (lspci -vd 10ee:
) prior to doing the driver load?
Hi @jbelot, were you able to resolve this issue?
Also, because you mentioned it in your other issue on mlir-aie, we just added the ability to connect PL components directly to the AIEs via the PLIO in this commit. We provided some documentation but this feature is very fresh, would love to get some initial feedback on the documentation and the functionality if that is something you are intersted in.
Hi @muwyse-amd, @eddierichter-amd, and thank you for your answers.
I managed to get the weather stencil test to work (but only once!). The problem came from the fact that the card was not correctly programmed before loading the drivers (I hadn't run a warm reboot). I then tried the vector vector add example, but without success, and since then I've been unable to get it working properly again.
I have to admit that I quickly abandoned this flow since my team works mainly with XRT drivers and it's not viable to have to reboot the server every time you switch from a “standard” project to MLIR AIE.
So I was more interested in the flow proposed by https://github.com/nqdtan/vck5000_vivado_ulp and modified it a little to insert .elf files generated by MLIR AIE. I have something that works on a very simple example, but I was wondering how to use PLIOs in this case.
Your recent changes seem particularly interesting, but I guess I'll have to reprogram the board to allow the use of PLIOs.
Hi,
As mentioned in this issue, I have troubles trying to build drivers for the VCK5000 platform. I encountered several issues, so in order to be as exhaustive as possible, I will detail all the error messages that I get and the workarounds I used to "fix" them.
My guess is that the driver is no longer compatible with the more recent linux kernel (mine is 6.5.0-41-generic).
First issue
Indeed, when running a
make
in the driver directory, I have the following error:First workaround
It seems that the error comes from the mention of
THIS_MODULE
in the line 208 of the file amdair_chardev.c, so I removed it, from:into:
Now the compilation seems to succeed, with these warnings though (which were also present before, but hidden in the
....
):Second issue
But now, the load of the driver with
sudo insmod amdair.ko
does not seem to produce anything, as the/dev/amdair
is not created. Note that the commandsudo dmesg | grep amdair
does not provide anything either.Second workaround
I remarked the message:
Skipping BTF generation for ~/ROCm-air-platforms/driver/amdair.ko due to unavailability of vmlinux
when building the driver, so I tried to fix it following this Ubuntu forum.Now the build succeed without this warning, but I still have the same problems as in second issue.
Are my workarounds relevant? Do you have any idea on how to fix my problem?
Thank you :)