Q:Shared IRQ
I have written a driver for a pci board that uses interrupts. I install the shared handler with a unique dev_id, or at least it should be unique as it is the address of my driver's internal data struct for that card. I get not only my interrupts, but also the interrupts of the shared device, namely the network card. Is this what I should expect? If I get a notification for the network card, why is the dev_id the same as what I passed? If I didn't have an interrupt pending bit on my hardware, how would I distinguish between the interrupts?
TIA
Signature · 3 lines
Best regards, David Stroupe Keyed-Up Software
Quoted 2 lines
I get not only my interrupts, but also the interrupts of the shared
device, namely the network card. Is this what I should expect? If I
Yes.
Quoted 3 lines
get a notification for the network card, why is the
dev_idthe same as what I passed? If I didn't have an interrupt pending bit on my hardware, how would I distinguish between the interrupts?
If you don't have an interrupt pending bit you are probably completely screwed. PCI assumes you can tell if you caused the interrupt or you can service events even if not needed (which basically comes down to the same thing).
Only your driver knows if you are a possible IRQ cause, its up to you to handle it