|
@@ -1242,12 +1242,18 @@ int __init amd_iommu_init(void)
|
|
|
if (ret)
|
|
|
goto free;
|
|
|
|
|
|
- ret = amd_iommu_init_dma_ops();
|
|
|
+ if (iommu_pass_through)
|
|
|
+ ret = amd_iommu_init_passthrough();
|
|
|
+ else
|
|
|
+ ret = amd_iommu_init_dma_ops();
|
|
|
if (ret)
|
|
|
goto free;
|
|
|
|
|
|
enable_iommus();
|
|
|
|
|
|
+ if (iommu_pass_through)
|
|
|
+ goto out;
|
|
|
+
|
|
|
printk(KERN_INFO "AMD IOMMU: device isolation ");
|
|
|
if (amd_iommu_isolate)
|
|
|
printk("enabled\n");
|