Commit 37d7f818 authored by Keith Busch's avatar Keith Busch Committed by Bjorn Helgaas

PCI: vmd: Reserve IRQ pre-vector for better affinity

The driver has a special purpose for the VMD device's first IRQ, so this
one shouldn't be considered for IRQ affinity.
Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 16f73eb0
......@@ -671,6 +671,14 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
struct vmd_dev *vmd;
int i, err;
/*
* The first vector is reserved for special use, so start affinity at
* the second vector
*/
struct irq_affinity affd = {
.pre_vectors = 1,
};
if (resource_size(&dev->resource[VMD_CFGBAR]) < (1 << 20))
return -ENOMEM;
......@@ -696,8 +704,8 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
if (vmd->msix_count < 0)
return -ENODEV;
vmd->msix_count = pci_alloc_irq_vectors(dev, 1, vmd->msix_count,
PCI_IRQ_MSIX | PCI_IRQ_AFFINITY);
vmd->msix_count = pci_alloc_irq_vectors_affinity(dev, 1, vmd->msix_count,
PCI_IRQ_MSIX | PCI_IRQ_AFFINITY, &affd);
if (vmd->msix_count < 0)
return vmd->msix_count;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment