|
@@ -709,7 +709,7 @@ static void gart_iommu_shutdown(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void __init gart_iommu_init(void)
|
|
|
+int __init gart_iommu_init(void)
|
|
|
{
|
|
|
struct agp_kern_info info;
|
|
|
unsigned long iommu_start;
|
|
@@ -719,7 +719,7 @@ void __init gart_iommu_init(void)
|
|
|
long i;
|
|
|
|
|
|
if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0)
|
|
|
- return;
|
|
|
+ return 0;
|
|
|
|
|
|
#ifndef CONFIG_AGP_AMD64
|
|
|
no_agp = 1;
|
|
@@ -731,13 +731,6 @@ void __init gart_iommu_init(void)
|
|
|
(agp_copy_info(agp_bridge, &info) < 0);
|
|
|
#endif
|
|
|
|
|
|
- if (swiotlb)
|
|
|
- return;
|
|
|
-
|
|
|
- /* Did we detect a different HW IOMMU? */
|
|
|
- if (iommu_detected && !gart_iommu_aperture)
|
|
|
- return;
|
|
|
-
|
|
|
if (no_iommu ||
|
|
|
(!force_iommu && max_pfn <= MAX_DMA32_PFN) ||
|
|
|
!gart_iommu_aperture ||
|
|
@@ -747,7 +740,7 @@ void __init gart_iommu_init(void)
|
|
|
"but GART IOMMU not available.\n");
|
|
|
printk(KERN_WARNING "falling back to iommu=soft.\n");
|
|
|
}
|
|
|
- return;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
/* need to map that range */
|
|
@@ -840,6 +833,8 @@ void __init gart_iommu_init(void)
|
|
|
flush_gart();
|
|
|
dma_ops = &gart_dma_ops;
|
|
|
x86_platform.iommu_shutdown = gart_iommu_shutdown;
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
void __init gart_parse_options(char *p)
|