aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu_init.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2009-09-03 16:34:23 +0200
committerJoerg Roedel <joerg.roedel@amd.com>2009-09-03 16:34:23 +0200
commit03362a05c55122baff3556109c922285299dfec4 (patch)
tree85f83fbf4e1e8027eca05fbd8285041053a713c4 /arch/x86/kernel/amd_iommu_init.c
parentMerge branches 'gart/fixes', 'amd-iommu/fixes+cleanups' and 'amd-iommu/fault-handling' into amd-iommu/2.6.32 (diff)
parentx86/amd-iommu: Initialize passthrough mode when requested (diff)
downloadlinux-dev-03362a05c55122baff3556109c922285299dfec4.tar.xz
linux-dev-03362a05c55122baff3556109c922285299dfec4.zip
Merge branch 'amd-iommu/passthrough' into amd-iommu/2.6.32
Conflicts: arch/x86/kernel/amd_iommu.c arch/x86/kernel/amd_iommu_init.c
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r--arch/x86/kernel/amd_iommu_init.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index 779ace292475..b4b61d462dcc 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -1252,12 +1252,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-Vi: device isolation ");
if (amd_iommu_isolate)
printk("enabled\n");