iommu/amd: Enable Guest Translation after reading IOMMU feature register
authorVasant Hegde <vasant.hegde@amd.com>
Mon, 6 May 2024 08:20:39 +0000 (08:20 +0000)
committerJoerg Roedel <jroedel@suse.de>
Mon, 6 May 2024 08:24:18 +0000 (10:24 +0200)
commitde111f6b4f6a3010020825d22a068f416bc29c95
tree21c9b9faeb4f897d27b1ab952a5bae79f77e1f7d
parentbbe1e78ae23e7e474401880d0d496acc8cec6863
iommu/amd: Enable Guest Translation after reading IOMMU feature register

Commit 8e0179733172 ("iommu/amd: Enable Guest Translation before
registering devices") moved IOMMU Guest Translation (GT) enablement to
early init path. It does feature check based on Global EFR value (got from
ACPI IVRS table). Later it adjusts EFR value based on IOMMU feature
register (late_iommu_features_init()).

It seems in some systems BIOS doesn't set gloabl EFR value properly.
This is causing mismatch. Hence move IOMMU GT enablement after
late_iommu_features_init() so that it does check based on IOMMU EFR
value.

Fixes: 8e0179733172 ("iommu/amd: Enable Guest Translation before registering devices")
Reported-by: Klara Modin <klarasmodin@gmail.com>
Closes: https://lore.kernel.org/linux-iommu/333e6eb6-361c-4afb-8107-2573324bf689@gmail.com/
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Tested-by: Klara Modin <klarasmodin@gmail.com>
Link: https://lore.kernel.org/r/20240506082039.7575-1-vasant.hegde@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/init.c