]> git.ipfire.org Git - thirdparty/linux.git/commit
drm/xe/bmg: fix compressed VRAM handling
authorMatthew Auld <matthew.auld@intel.com>
Tue, 1 Jul 2025 10:39:50 +0000 (11:39 +0100)
committerMatthew Auld <matthew.auld@intel.com>
Fri, 4 Jul 2025 11:31:06 +0000 (12:31 +0100)
commitf7a2fd776e57bd6468644bdecd91ab3aba57ba58
tree02b6f9aa36756f88499792fafc34904124cab1a8
parent03d85ab36bcbcbe9dc962fccd3f8e54d7bb93b35
drm/xe/bmg: fix compressed VRAM handling

There looks to be an issue in our compression handling when the BO pages
are very fragmented, where we choose to skip the identity map and
instead fall back to emitting the PTEs by hand when migrating memory,
such that we can hopefully do more work per blit operation. However in
such a case we need to ensure the src PTEs are correctly tagged with a
compression enabled PAT index on dgpu xe2+, otherwise the copy will
simply treat the src memory as uncompressed, leading to corruption if
the memory was compressed by the user.

To fix this pass along use_comp_pat into emit_pte() on the src side, to
indicate that compression should be considered.

v2 (Jonathan): tweak the commit message

Fixes: 523f191cc0c7 ("drm/xe/xe_migrate: Handle migration logic for xe2+ dgfx")
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Akshata Jahagirdar <akshata.jahagirdar@intel.com>
Cc: <stable@vger.kernel.org> # v6.12+
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://lore.kernel.org/r/20250701103949.83116-2-matthew.auld@intel.com
drivers/gpu/drm/xe/xe_migrate.c