]> www.infradead.org Git - nvme.git/commit
iommu/amd: Fix GT feature enablement again
authorVasant Hegde <vasant.hegde@amd.com>
Fri, 21 Jun 2024 10:15:33 +0000 (10:15 +0000)
committerJoerg Roedel <jroedel@suse.de>
Thu, 27 Jun 2024 10:14:19 +0000 (12:14 +0200)
commit150bdf5f8d8f805d70bebbbfd07697bd2416771a
tree37b0e6eb54b7af280e864b67df0d47c815d4dced
parent041be2717b198dd65032f726648401ba293c1bba
iommu/amd: Fix GT feature enablement again

Current code configures GCR3 even when device is attached to identity
domain. So that we can support SVA with identity domain. This means in
attach device path it updates Guest Translation related bits in DTE.

Commit de111f6b4f6a ("iommu/amd: Enable Guest Translation after reading
IOMMU feature register") missed to enable Control[GT] bit in resume
path. Its causing certain laptop to fail to resume after suspend.

This is because we have inconsistency between between control register
(GT is disabled) and DTE (where we have enabled guest translation related
bits) in resume path. And IOMMU hardware throws ILLEGAL_DEV_TABLE_ENTRY.

Fix it by enabling GT bit in resume path.

Reported-by: Błażej Szczygieł <spaz16@wp.pl>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=218975
Fixes: de111f6b4f6a ("iommu/amd: Enable Guest Translation after reading IOMMU feature register")
Tested-by: Błażej Szczygieł <spaz16@wp.pl>
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Link: https://lore.kernel.org/r/20240621101533.20216-1-vasant.hegde@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/init.c