diff options
author | Joerg Roedel <joro@8bytes.org> | 2012-09-26 06:44:39 -0400 |
---|---|---|
committer | Joerg Roedel <joro@8bytes.org> | 2013-01-28 06:17:26 -0500 |
commit | 373dd7a27f2469020e7b56744cf47b82986b9749 (patch) | |
tree | 1fb77f5d3b11ad5d2c97c1244e1460cabb94593a /drivers/iommu/irq_remapping.c | |
parent | 5afba62cc8a16716508605e02c1b02ee5f969184 (diff) |
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; | |||
26 | static int msi_alloc_remapped_irq(struct pci_dev *pdev, int irq, int nvec); | 26 | static int msi_alloc_remapped_irq(struct pci_dev *pdev, int irq, int nvec); |
27 | static int msi_setup_remapped_irq(struct pci_dev *pdev, unsigned int irq, | 27 | static int msi_setup_remapped_irq(struct pci_dev *pdev, unsigned int irq, |
28 | int index, int sub_handle); | 28 | int index, int sub_handle); |
29 | static int set_remapped_irq_affinity(struct irq_data *data, | ||
30 | const struct cpumask *mask, | ||
31 | bool force); | ||
29 | 32 | ||
30 | static void irq_remapping_disable_io_apic(void) | 33 | static void irq_remapping_disable_io_apic(void) |
31 | { | 34 | { |
@@ -142,6 +145,7 @@ static int irq_remapping_setup_msi_irqs(struct pci_dev *dev, | |||
142 | static void __init irq_remapping_modify_x86_ops(void) | 145 | static void __init irq_remapping_modify_x86_ops(void) |
143 | { | 146 | { |
144 | x86_io_apic_ops.disable = irq_remapping_disable_io_apic; | 147 | x86_io_apic_ops.disable = irq_remapping_disable_io_apic; |
148 | x86_io_apic_ops.set_affinity = set_remapped_irq_affinity; | ||
145 | x86_msi.setup_msi_irqs = irq_remapping_setup_msi_irqs; | 149 | x86_msi.setup_msi_irqs = irq_remapping_setup_msi_irqs; |
146 | x86_msi.setup_hpet_msi = setup_hpet_msi_remapped; | 150 | x86_msi.setup_hpet_msi = setup_hpet_msi_remapped; |
147 | } | 151 | } |