Forum Discussion
Wincent_Altera
Regular Contributor
20 days agoHi,
Based on your description, you have correctly configured the hardware and Linux driver for MSI-X, and lspci confirms MSI-X is enabled with available vectors.
However, the interrupts are not seen on the host.
I would suggest to check
- MSI-X table mapping
- Ensure the BAR (Base Address Register) specified for the MSI-X vector table (e.g., BAR=0 at offset 0x00100000) is correctly mapped and accessible by both the FPGA and the Linux OS.
- If the mapping is off, MSI-X table writes may not trigger interrupts.
- Masked vectors
- MSI-X must remain enabled (Enable+ in lspci).
- Vectors must be unmasked (Masked- in lspci). If vectors are masked in the device or host, interrupts are blocked.
- Confirm that the device or driver does not inadvertently mask vectors after initialization.
- Driver initialization issues,
- Maps the MSI-X vectors properly
- Registers the interrupt handlers correctly
- Binds the expected number of vectors (matching what is requested)
Regards,
Wincent