mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-03 16:06:43 +07:00
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>
This commit is contained in:
parent
a77b67d402
commit
cacd4213d8
@ -455,8 +455,8 @@ void __init detect_intel_iommu(void)
|
|||||||
|
|
||||||
ret = early_dmar_detect();
|
ret = early_dmar_detect();
|
||||||
|
|
||||||
#ifdef CONFIG_DMAR
|
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_INTR_REMAP
|
||||||
struct acpi_table_dmar *dmar;
|
struct acpi_table_dmar *dmar;
|
||||||
/*
|
/*
|
||||||
* for now we will disable dma-remapping when interrupt
|
* for now we will disable dma-remapping when interrupt
|
||||||
@ -465,28 +465,18 @@ void __init detect_intel_iommu(void)
|
|||||||
* is added, we will not need this any more.
|
* is added, we will not need this any more.
|
||||||
*/
|
*/
|
||||||
dmar = (struct acpi_table_dmar *) dmar_tbl;
|
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
|
printk(KERN_INFO
|
||||||
"Queued invalidation will be enabled to support "
|
"Queued invalidation will be enabled to support "
|
||||||
"x2apic and Intr-remapping.\n");
|
"x2apic and Intr-remapping.\n");
|
||||||
printk(KERN_INFO
|
#endif
|
||||||
"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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_DMAR
|
||||||
if (ret && !no_iommu && !iommu_detected && !swiotlb &&
|
if (ret && !no_iommu && !iommu_detected && !swiotlb &&
|
||||||
!dmar_disabled)
|
!dmar_disabled)
|
||||||
iommu_detected = 1;
|
iommu_detected = 1;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user