PCI: Provide sensible IRQ vector alloc/free routines
authorChristoph Hellwig <[email protected]>
Tue, 12 Jul 2016 09:20:17 +0000 (18:20 +0900)
committerBjorn Helgaas <[email protected]>
Thu, 21 Jul 2016 20:50:07 +0000 (15:50 -0500)
commitaff171641d181ea573380efc3f559c9de4741fc5
tree4db964cfabf120e9e9f1cba6f8d1707ae5bc8159
parent3ac020e0ca8beff9b695f9866a06d50c09c602d6
PCI: Provide sensible IRQ vector alloc/free routines

Add a function to allocate and free a range of interrupt vectors, using
MSI-X, MSI or legacy vectors (in that order) based on the capabilities of
the underlying device and PCIe complex.

Additionally a new helper is provided to get the Linux IRQ number for given
device-relative vector so that the drivers don't need to allocate their own
arrays to keep track of the vectors for the multi vector MSI-X case.

Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Reviewed-by: Alexander Gordeev <[email protected]>
Documentation/PCI/MSI-HOWTO.txt
drivers/pci/msi.c
include/linux/pci.h