diff options
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 8a9aaa8412c9..0d20286d78c6 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -2330,10 +2330,6 @@ int __init amd_iommu_init_dma_ops(void) | |||
2330 | 2330 | ||
2331 | iommu_detected = 1; | 2331 | iommu_detected = 1; |
2332 | swiotlb = 0; | 2332 | swiotlb = 0; |
2333 | #ifdef CONFIG_GART_IOMMU | ||
2334 | gart_iommu_aperture_disabled = 1; | ||
2335 | gart_iommu_aperture = 0; | ||
2336 | #endif | ||
2337 | 2333 | ||
2338 | /* Make the driver finally visible to the drivers */ | 2334 | /* Make the driver finally visible to the drivers */ |
2339 | dma_ops = &amd_iommu_dma_ops; | 2335 | dma_ops = &amd_iommu_dma_ops; |
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index 1405346c62b4..3cc63e2b8dd4 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -1358,6 +1358,15 @@ free: | |||
1358 | 1358 | ||
1359 | free_unity_maps(); | 1359 | free_unity_maps(); |
1360 | 1360 | ||
1361 | #ifdef CONFIG_GART_IOMMU | ||
1362 | /* | ||
1363 | * We failed to initialize the AMD IOMMU - try fallback to GART | ||
1364 | * if possible. | ||
1365 | */ | ||
1366 | gart_iommu_init(); | ||
1367 | |||
1368 | #endif | ||
1369 | |||
1361 | goto out; | 1370 | goto out; |
1362 | } | 1371 | } |
1363 | 1372 | ||