diff options
author | Joerg Roedel <joro@8bytes.org> | 2012-09-26 12:44:39 +0200 |
---|---|---|
committer | Joerg Roedel <joro@8bytes.org> | 2013-01-28 12:17:26 +0100 |
commit | 373dd7a27f2469020e7b56744cf47b82986b9749 (patch) | |
tree | 1fb77f5d3b11ad5d2c97c1244e1460cabb94593a /drivers/iommu/irq_remapping.c | |
parent | 5afba62cc8a16716508605e02c1b02ee5f969184 (diff) | |
download | lwn-373dd7a27f2469020e7b56744cf47b82986b9749.tar.gz lwn-373dd7a27f2469020e7b56744cf47b82986b9749.zip |
x86, io_apic: Introduce set_affinity function pointer
With interrupt remapping a special function is used to
change the affinity of an IO-APIC interrupt. Abstract this
with a function pointer.
Signed-off-by: Joerg Roedel <joro@8bytes.org>
Acked-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers/iommu/irq_remapping.c')
-rw-r--r-- | drivers/iommu/irq_remapping.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/iommu/irq_remapping.c b/drivers/iommu/irq_remapping.c index 20f04b67efd2..67b243c6c4e9 100644 --- a/drivers/iommu/irq_remapping.c +++ b/drivers/iommu/irq_remapping.c @@ -26,6 +26,9 @@ static struct irq_remap_ops *remap_ops; static int msi_alloc_remapped_irq(struct pci_dev *pdev, int irq, int nvec); static int msi_setup_remapped_irq(struct pci_dev *pdev, unsigned int irq, int index, int sub_handle); +static int set_remapped_irq_affinity(struct irq_data *data, + const struct cpumask *mask, + bool force); static void irq_remapping_disable_io_apic(void) { @@ -142,6 +145,7 @@ static int irq_remapping_setup_msi_irqs(struct pci_dev *dev, static void __init irq_remapping_modify_x86_ops(void) { x86_io_apic_ops.disable = irq_remapping_disable_io_apic; + x86_io_apic_ops.set_affinity = set_remapped_irq_affinity; x86_msi.setup_msi_irqs = irq_remapping_setup_msi_irqs; x86_msi.setup_hpet_msi = setup_hpet_msi_remapped; } |