aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorYouquan Song <youquan.song@intel.com>2008-10-16 19:31:57 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2008-10-17 03:05:30 -0400
commitcacd4213d8ffed83676f38d5d8e93c673e0f1af7 (patch)
treeffaba6f6b6597973ac7f605809446621dbc8fc6c /drivers/pci
parenta77b67d4023770805141014b8fa9eb5467457817 (diff)
dmar: remove the quirk which disables dma-remapping when intr-remapping enabled
Now that we have DMA-remapping support for queued invalidation, we can enable both DMA-remapping and interrupt-remapping at the same time. Signed-off-by: Youquan Song <youquan.song@intel.com> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/dmar.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c
index 0f409e23631e..44d6c7081b8f 100644
--- a/drivers/pci/dmar.c
+++ b/drivers/pci/dmar.c
@@ -455,8 +455,8 @@ void __init detect_intel_iommu(void)
455 455
456 ret = early_dmar_detect(); 456 ret = early_dmar_detect();
457 457
458#ifdef CONFIG_DMAR
459 { 458 {
459#ifdef CONFIG_INTR_REMAP
460 struct acpi_table_dmar *dmar; 460 struct acpi_table_dmar *dmar;
461 /* 461 /*
462 * for now we will disable dma-remapping when interrupt 462 * for now we will disable dma-remapping when interrupt
@@ -465,28 +465,18 @@ void __init detect_intel_iommu(void)
465 * is added, we will not need this any more. 465 * is added, we will not need this any more.
466 */ 466 */
467 dmar = (struct acpi_table_dmar *) dmar_tbl; 467 dmar = (struct acpi_table_dmar *) dmar_tbl;
468 if (ret && cpu_has_x2apic && dmar->flags & 0x1) { 468 if (ret && cpu_has_x2apic && dmar->flags & 0x1)
469 printk(KERN_INFO 469 printk(KERN_INFO
470 "Queued invalidation will be enabled to support " 470 "Queued invalidation will be enabled to support "
471 "x2apic and Intr-remapping.\n"); 471 "x2apic and Intr-remapping.\n");
472 printk(KERN_INFO 472#endif
473 "Disabling IOMMU detection, because of missing "
474 "queued invalidation support for IOTLB "
475 "invalidation\n");
476 printk(KERN_INFO
477 "Use \"nox2apic\", if you want to use Intel "
478 " IOMMU for DMA-remapping and don't care about "
479 " x2apic support\n");
480
481 dmar_disabled = 1;
482 return;
483 }
484 473
474#ifdef CONFIG_DMAR
485 if (ret && !no_iommu && !iommu_detected && !swiotlb && 475 if (ret && !no_iommu && !iommu_detected && !swiotlb &&
486 !dmar_disabled) 476 !dmar_disabled)
487 iommu_detected = 1; 477 iommu_detected = 1;
488 }
489#endif 478#endif
479 }
490} 480}
491 481
492 482