aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/intr_remapping.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2009-12-01 02:16:22 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2009-12-01 02:16:22 -0500
commit838632438145ac6863377eb12d8b8eef9c55d288 (patch)
treefbb0757df837f3c75a99c518a3596c38daef162d /drivers/pci/intr_remapping.c
parent9996508b3353063f2d6c48c1a28a84543d72d70b (diff)
parent29e553631b2a0d4eebd23db630572e1027a9967a (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
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