aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/amd_iommu.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-19 17:02:02 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-19 17:02:02 -0500
commite589c9e13aeb0c5539bf1314b3a78442ea8fc0c2 (patch)
tree87aaebb0ef7c4cc7ee6cffc152a9264b24659b7e /drivers/iommu/amd_iommu.c
parent4bb9374e0bd40d8fe97860ea0d61a0330b7c3925 (diff)
parent719b530cdc70b45f22fed2185db8b34568b4c3f8 (diff)
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 apic updates from Thomas Gleixner: "After stopping the full x86/apic branch, I took some time to go through the first block of patches again, which are mostly cleanups and preparatory work for the irqdomain conversion and ioapic hotplug support. Unfortunaly one of the real problematic commits was right at the beginning, so I rebased this portion of the pending patches without the offenders. It would be great to get this into 3.19. That makes reworking the problematic parts simpler. The usual tip testing did not unearth any issues and it is fully bisectible now. I'm pretty confident that this wont affect the calmness of the xmas season. Changes: - Split the convoluted io_apic.c code into domain specific parts (vector, ioapic, msi, htirq) - Introduce proper helper functions to retrieve irq specific data instead of open coded dereferencing of pointers - Preparatory work for ioapic hotplug and irqdomain conversion - Removal of the non functional pci-ioapic driver - Removal of unused irq entry stubs - Make native_smp_prepare_cpus() preemtible to avoid GFP_ATOMIC allocations for everything which is called from there. - Small cleanups and fixes" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits) iommu/amd: Use helpers to access irq_cfg data structure associated with IRQ iommu/vt-d: Use helpers to access irq_cfg data structure associated with IRQ x86: irq_remapping: Use helpers to access irq_cfg data structure associated with IRQ x86, irq: Use helpers to access irq_cfg data structure associated with IRQ x86, irq: Make MSI and HT_IRQ indepenent of X86_IO_APIC x86, irq: Move IRQ initialization routines from io_apic.c into vector.c x86, irq: Move IOAPIC related declarations from hw_irq.h into io_apic.h x86, irq: Move HT IRQ related code from io_apic.c into htirq.c x86, irq: Move PCI MSI related code from io_apic.c into msi.c x86, irq: Replace printk(KERN_LVL) with pr_lvl() utilities x86, irq: Make UP version of irq_complete_move() an inline stub x86, irq: Move local APIC related code from io_apic.c into vector.c x86, irq: Introduce helpers to access struct irq_cfg x86, irq: Protect __clear_irq_vector() with vector_lock x86, irq: Rename local APIC related functions in io_apic.c as apic_xxx() x86, irq: Refine hw_irq.h to prepare for irqdomain support x86, irq: Convert irq_2_pin list to generic list x86, irq: Kill useless parameter 'irq_attr' of IO_APIC_get_PCI_irq_vector() x86, irq, acpi: Get rid of special handling of GSI for ACPI SCI x86, irq: Introduce helper to check whether an IOAPIC has been registered ...
Diffstat (limited to 'drivers/iommu/amd_iommu.c')
-rw-r--r--drivers/iommu/amd_iommu.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index b205f76d7129..98024856df07 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -4071,7 +4071,7 @@ static int setup_ioapic_entry(int irq, struct IO_APIC_route_entry *entry,
4071 int devid; 4071 int devid;
4072 int ret; 4072 int ret;
4073 4073
4074 cfg = irq_get_chip_data(irq); 4074 cfg = irq_cfg(irq);
4075 if (!cfg) 4075 if (!cfg)
4076 return -EINVAL; 4076 return -EINVAL;
4077 4077
@@ -4134,7 +4134,7 @@ static int set_affinity(struct irq_data *data, const struct cpumask *mask,
4134 if (!config_enabled(CONFIG_SMP)) 4134 if (!config_enabled(CONFIG_SMP))
4135 return -1; 4135 return -1;
4136 4136
4137 cfg = data->chip_data; 4137 cfg = irqd_cfg(data);
4138 irq = data->irq; 4138 irq = data->irq;
4139 irte_info = &cfg->irq_2_irte; 4139 irte_info = &cfg->irq_2_irte;
4140 4140
@@ -4172,7 +4172,7 @@ static int free_irq(int irq)
4172 struct irq_2_irte *irte_info; 4172 struct irq_2_irte *irte_info;
4173 struct irq_cfg *cfg; 4173 struct irq_cfg *cfg;
4174 4174
4175 cfg = irq_get_chip_data(irq); 4175 cfg = irq_cfg(irq);
4176 if (!cfg) 4176 if (!cfg)
4177 return -EINVAL; 4177 return -EINVAL;
4178 4178
@@ -4191,7 +4191,7 @@ static void compose_msi_msg(struct pci_dev *pdev,
4191 struct irq_cfg *cfg; 4191 struct irq_cfg *cfg;
4192 union irte irte; 4192 union irte irte;
4193 4193
4194 cfg = irq_get_chip_data(irq); 4194 cfg = irq_cfg(irq);
4195 if (!cfg) 4195 if (!cfg)
4196 return; 4196 return;
4197 4197
@@ -4220,7 +4220,7 @@ static int msi_alloc_irq(struct pci_dev *pdev, int irq, int nvec)
4220 if (!pdev) 4220 if (!pdev)
4221 return -EINVAL; 4221 return -EINVAL;
4222 4222
4223 cfg = irq_get_chip_data(irq); 4223 cfg = irq_cfg(irq);
4224 if (!cfg) 4224 if (!cfg)
4225 return -EINVAL; 4225 return -EINVAL;
4226 4226
@@ -4240,7 +4240,7 @@ static int msi_setup_irq(struct pci_dev *pdev, unsigned int irq,
4240 if (!pdev) 4240 if (!pdev)
4241 return -EINVAL; 4241 return -EINVAL;
4242 4242
4243 cfg = irq_get_chip_data(irq); 4243 cfg = irq_cfg(irq);
4244 if (!cfg) 4244 if (!cfg)
4245 return -EINVAL; 4245 return -EINVAL;
4246 4246
@@ -4263,7 +4263,7 @@ static int alloc_hpet_msi(unsigned int irq, unsigned int id)
4263 struct irq_cfg *cfg; 4263 struct irq_cfg *cfg;
4264 int index, devid; 4264 int index, devid;
4265 4265
4266 cfg = irq_get_chip_data(irq); 4266 cfg = irq_cfg(irq);
4267 if (!cfg) 4267 if (!cfg)
4268 return -EINVAL; 4268 return -EINVAL;
4269 4269