diff options
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index c792ddc4fec6..d7a75bf0f7e6 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -769,3 +769,23 @@ free: | |||
769 | goto out; | 769 | goto out; |
770 | } | 770 | } |
771 | 771 | ||
772 | static int __init early_amd_iommu_detect(struct acpi_table_header *table) | ||
773 | { | ||
774 | return 0; | ||
775 | } | ||
776 | |||
777 | void __init amd_iommu_detect(void) | ||
778 | { | ||
779 | if (swiotlb || no_iommu || iommu_detected) | ||
780 | return; | ||
781 | |||
782 | if (amd_iommu_disable) | ||
783 | return; | ||
784 | |||
785 | if (acpi_table_parse("IVRS", early_amd_iommu_detect) == 0) { | ||
786 | iommu_detected = 1; | ||
787 | gart_iommu_aperture_disabled = 1; | ||
788 | gart_iommu_aperture = 0; | ||
789 | } | ||
790 | } | ||
791 | |||