Work -- no. Thought? A little. Seems to me that MSIs need to be treated
as a third form of interrupts (level/edge/message). The address that
the MSI will write to is clearly architecture dependent (may even be
irq-controller-dependent, depending on your architecture). request_irq()
is an insufficient function to deal with this -- request_msi() may be
needed instead. It'll need to return an address to pass to the card.
(We need a mechanism to decide whether it's a 32-bit or 64-bit address).
Oh, and don't make this too PCI-specific -- native PARISC interrupts
are MSI and you can see how handled it in arch/parisc/kernel/irq.c.
> Would things massively break if I set up MSI manually in the driver?
Might do, might not.
-- "It's not Hollywood. War is real, war is primarily not about defeat or victory, it is about death. I've seen thousands and thousands of dead bodies. Do you think I want to have an academic debate on this subject?" -- Robert Fisk - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/