diff options
author | Vasant Hegde <vasant.hegde@amd.com> | 2024-10-16 10:49:58 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2024-10-29 09:47:02 +0100 |
commit | 3f6eeada6930056c38f20964120ac402cf0030b9 (patch) | |
tree | 4b4c7a4b88b4ee4bd5530b69b1773f49acb6c0a5 | |
parent | iommu/amd: Use atomic64_inc_return() in iommu.c (diff) | |
download | linux-3f6eeada6930056c38f20964120ac402cf0030b9.tar.xz linux-3f6eeada6930056c38f20964120ac402cf0030b9.zip |
iommu/amd: Do not try copy old DTE resume path
In suspend/resume path, no need to copy old DTE (early_enable_iommus()).
Just need to reload IOMMU hardware.
This is the side effect of commit 3ac3e5ee5ed5 ("iommu/amd: Copy old
trans table from old kernel") which changed early_enable_iommus() but
missed to fix enable_iommus().
Resume path continue to work as 'amd_iommu_pre_enabled' is set to false
and copy_device_table() will fail. It will just re-loaded IOMMU. Hence I
think we don't need to backport this to stable tree.
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Link: https://lore.kernel.org/r/20241016084958.99727-1-vasant.hegde@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
-rw-r--r-- | drivers/iommu/amd/init.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c index 43131c3a2172..3fa70169aace 100644 --- a/drivers/iommu/amd/init.c +++ b/drivers/iommu/amd/init.c @@ -2882,11 +2882,6 @@ static void enable_iommus_vapic(void) #endif } -static void enable_iommus(void) -{ - early_enable_iommus(); -} - static void disable_iommus(void) { struct amd_iommu *iommu; @@ -2913,7 +2908,8 @@ static void amd_iommu_resume(void) iommu_apply_resume_quirks(iommu); /* re-load the hardware */ - enable_iommus(); + for_each_iommu(iommu) + early_enable_iommu(iommu); amd_iommu_enable_interrupts(); } |