Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cacd4213 authored by Youquan Song's avatar Youquan Song Committed by David Woodhouse
Browse files

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: default avatarYouquan Song <youquan.song@intel.com>
Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent a77b67d4
Loading
Loading
Loading
Loading
+5 −15
Original line number Diff line number Diff line
@@ -455,8 +455,8 @@ void __init detect_intel_iommu(void)

	ret = early_dmar_detect();

#ifdef CONFIG_DMAR
	{
#ifdef CONFIG_INTR_REMAP
		struct acpi_table_dmar *dmar;
		/*
		 * for now we will disable dma-remapping when interrupt
@@ -465,29 +465,19 @@ void __init detect_intel_iommu(void)
		 * is added, we will not need this any more.
		 */
		dmar = (struct acpi_table_dmar *) dmar_tbl;
		if (ret && cpu_has_x2apic && dmar->flags & 0x1) {
		if (ret && cpu_has_x2apic && dmar->flags & 0x1)
			printk(KERN_INFO
			       "Queued invalidation will be enabled to support "
			       "x2apic and Intr-remapping.\n");
			printk(KERN_INFO
			       "Disabling IOMMU detection, because of missing "
			       "queued invalidation support for IOTLB "
			       "invalidation\n");
			printk(KERN_INFO
			       "Use \"nox2apic\", if you want to use Intel "
			       " IOMMU for DMA-remapping and don't care about "
			       " x2apic support\n");

			dmar_disabled = 1;
			return;
		}
#endif

#ifdef CONFIG_DMAR
		if (ret && !no_iommu && !iommu_detected && !swiotlb &&
		    !dmar_disabled)
			iommu_detected = 1;
	}
#endif
	}
}


int alloc_iommu(struct dmar_drhd_unit *drhd)