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 | ||
