aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2012-06-21 10:51:25 -0400
committerJoerg Roedel <joerg.roedel@amd.com>2012-09-28 11:33:28 -0400
commitf6fec00a9202987f1be2ae0a722518b742a9a799 (patch)
tree53f05eb432b897f4cd189731749b97ff3a67108b /drivers
parent33f28c59e18d83fd2aeef258d211be66b9b80eb3 (diff)
iommu/amd: Make sure IOMMU is not considered to translate itself
The IVRS table usually includes the IOMMU device. But the IOMMU does never translate itself, so make sure the IOMMU driver knows this. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/iommu/amd_iommu_init.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
index 8a7f1971d63..68b3305a126 100644
--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@ -1021,6 +1021,13 @@ static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h)
1021 ret = init_iommu_from_acpi(iommu, h); 1021 ret = init_iommu_from_acpi(iommu, h);
1022 if (ret) 1022 if (ret)
1023 return ret; 1023 return ret;
1024
1025 /*
1026 * Make sure IOMMU is not considered to translate itself. The IVRS
1027 * table tells us so, but this is a lie!
1028 */
1029 amd_iommu_rlookup_table[iommu->devid] = NULL;
1030
1024 init_iommu_devices(iommu); 1031 init_iommu_devices(iommu);
1025 1032
1026 return 0; 1033 return 0;