Hello,
Are you working on latest BSP? since all the configuration looks ok,
You can check this by running the command lspci -vv and looking for the "Capabilities" section for your device. If you see "MSI" or "MSI-X" listed there
Enable MSI interrupts: To enable MSI interrupts for a particular device, you need to write to its configuration space. Use the setpci command to do this. For example, to enable MSI interrupts on device 02:00.0, you can use the following command:
Code:
sudo setpci -s 02:00.0 COMMAND=0510
The 0510 value sets the "Command" register to enable MSI interrupts.
Check if MSI interrupts are enabled: After enabling MSI interrupts, you can verify if they are working properly by checking the kernel log. Use the dmesg command and look for messages related to the device you enabled MSI for. If everything went smoothly, you should see something like "msi: Enable device interrupts succeeded" in the log.
Handle MSI interrupts in your code: Now that MSI interrupts are enabled, you need to handle them in your code. This involves registering an interrupt handler that will be called whenever the device sends an interrupt. The exact process for this depends on your programming language and framework, so you'll need to consult the documentation for your specific setup.
Regards