MSI-X delivery problem
Posted: Wed May 02, 2012 11:55 am
I've a system with a peripheral PCIe card and I am trying to make it trigger MSI-X interrupt.
I've verified that my MSI setup works fine with the help of HPET.
I leave all my PCI bridges and entire fabric in the state it was left by the BIOS; i.e. I do not perform
bus enumeration and I don't touch bridge configuration spaces. The only thing I do is enable
MSI-X on the peripheral device and disable INTx emulation in the configuration space. I populate MSI-X table slot 0,
leaving all other vectors masked. My destination and address register values are correct (verified with HPET MSI)
so I am a bit stuck trying to figure out why the device is not sending out interrupts when it should.
I'd appreciate any ideas on what to investigate when trying to figure out why the MSI-X is not delivered. I'm a bit stuck on this one and have been following multiple investigation paths in parallel but it's nice to have some fresh ideas/suggestions.
Thanks
I've verified that my MSI setup works fine with the help of HPET.
I leave all my PCI bridges and entire fabric in the state it was left by the BIOS; i.e. I do not perform
bus enumeration and I don't touch bridge configuration spaces. The only thing I do is enable
MSI-X on the peripheral device and disable INTx emulation in the configuration space. I populate MSI-X table slot 0,
leaving all other vectors masked. My destination and address register values are correct (verified with HPET MSI)
so I am a bit stuck trying to figure out why the device is not sending out interrupts when it should.
I'd appreciate any ideas on what to investigate when trying to figure out why the MSI-X is not delivered. I'm a bit stuck on this one and have been following multiple investigation paths in parallel but it's nice to have some fresh ideas/suggestions.
Thanks