summaryrefslogtreecommitdiffstats
path: root/Documentation/PCI
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-07-12 05:20:18 -0400
committerBjorn Helgaas <bhelgaas@google.com>2016-07-21 16:57:03 -0400
commit4ef33685aa0957d771e068b60a5f3ca6b47ade1c (patch)
tree34e9fee3bd177657e18f56a4d5d0701f6f3c20f5 /Documentation/PCI
parentaff171641d181ea573380efc3f559c9de4741fc5 (diff)
PCI: Spread interrupt vectors in pci_alloc_irq_vectors()
Set the affinity_mask in the PCI device before allocating vectors so that the affinity can be propagated through the MSI descriptor structures to the core IRQ code. To facilitate this, new __pci_enable_msi_range() and __pci_enable_msix_range() helpers are factored out of their not prefixed variants which assigning the new IRQ affinity mask in the PCI device so that the low-level interrupt code can perform the interrupt affinity assignment and do node-local allocations. A new PCI_IRQ_NOAFFINITY flag is added to pci_alloc_irq_vectors() so that this function can also be used by drivers that don't wish to use the automatic affinity assignment. [bhelgaas: omit "else" after "return" consistently] Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Alexander Gordeev <agordeev@redhat.com>
Diffstat (limited to 'Documentation/PCI')
-rw-r--r--Documentation/PCI/MSI-HOWTO.txt4
1 files changed, 4 insertions, 0 deletions
diff --git a/Documentation/PCI/MSI-HOWTO.txt b/Documentation/PCI/MSI-HOWTO.txt
index 0ac612b8c3fb..c55df2911136 100644
--- a/Documentation/PCI/MSI-HOWTO.txt
+++ b/Documentation/PCI/MSI-HOWTO.txt
@@ -99,6 +99,10 @@ PCI_IRQ_NOMSI and PCI_IRQ_NOMSIX flag in case a device claims to support
99MSI or MSI-X, but the support is broken, or to pass PCI_IRQ_NOLEGACY in 99MSI or MSI-X, but the support is broken, or to pass PCI_IRQ_NOLEGACY in
100case the device does not support legacy interrupt lines. 100case the device does not support legacy interrupt lines.
101 101
102By default this function will spread the interrupts around the available
103CPUs, but this feature can be disabled by passing the PCI_IRQ_NOAFFINITY
104flag.
105
102To get the Linux IRQ numbers passed to request_irq() and free_irq() and the 106To get the Linux IRQ numbers passed to request_irq() and free_irq() and the
103vectors, use the following function: 107vectors, use the following function:
104 108