aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/intr_remapping.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-09-23 13:06:10 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-23 13:06:10 -0400
commitb09a75fc5e77b7c58d097236f89b1ff72dcdb562 (patch)
tree8f818f1b3e44d9bc822b13dc7c368077981dd6ea /drivers/pci/intr_remapping.c
parentcf63ff5fa4399e215cc5ef322ccd8bddfff9afa6 (diff)
parentb94996c99c8befed9cbbb8804a4625e203913318 (diff)
Merge git://git.infradead.org/iommu-2.6
* git://git.infradead.org/iommu-2.6: (23 commits) intel-iommu: Disable PMRs after we enable translation, not before intel-iommu: Kill DMAR_BROKEN_GFX_WA option. intel-iommu: Fix integer wrap on 32 bit kernels intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}() intel-iommu: Limit DOMAIN_MAX_PFN to fit in an 'unsigned long' intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS intel-iommu: Disallow interrupt remapping if not all ioapics covered intel-iommu: include linux/dmi.h to use dmi_ routines pci/dmar: correct off-by-one error in dmar_fault() intel-iommu: Cope with yet another BIOS screwup causing crashes intel-iommu: iommu init error path bug fixes intel-iommu: Mark functions with __init USB: Work around BIOS bugs by quiescing USB controllers earlier ia64: IOMMU passthrough mode shouldn't trigger swiotlb init intel-iommu: make domain_add_dev_info() call domain_context_mapping() intel-iommu: Unify hardware and software passthrough support intel-iommu: Cope with broken HP DC7900 BIOS iommu=pt is a valid early param intel-iommu: double kfree() intel-iommu: Kill pointless intel_unmap_single() function ... Fixed up trivial include lines conflict in drivers/pci/intel-iommu.c
Diffstat (limited to 'drivers/pci/intr_remapping.c')
-rw-r--r--drivers/pci/intr_remapping.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c
index 44803644ca05..0ed78a764ded 100644
--- a/drivers/pci/intr_remapping.c
+++ b/drivers/pci/intr_remapping.c
@@ -603,6 +603,9 @@ int __init intr_remapping_supported(void)
603 if (disable_intremap) 603 if (disable_intremap)
604 return 0; 604 return 0;
605 605
606 if (!dmar_ir_support())
607 return 0;
608
606 for_each_drhd_unit(drhd) { 609 for_each_drhd_unit(drhd) {
607 struct intel_iommu *iommu = drhd->iommu; 610 struct intel_iommu *iommu = drhd->iommu;
608 611
@@ -618,6 +621,11 @@ int __init enable_intr_remapping(int eim)
618 struct dmar_drhd_unit *drhd; 621 struct dmar_drhd_unit *drhd;
619 int setup = 0; 622 int setup = 0;
620 623
624 if (parse_ioapics_under_ir() != 1) {
625 printk(KERN_INFO "Not enable interrupt remapping\n");
626 return -1;
627 }
628
621 for_each_drhd_unit(drhd) { 629 for_each_drhd_unit(drhd) {
622 struct intel_iommu *iommu = drhd->iommu; 630 struct intel_iommu *iommu = drhd->iommu;
623 631