]> 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)
committerLucas De Marchi <lucas.demarchi@intel.com>
Tue, 8 Jul 2025 03:57:17 +0000 (20:57 -0700)
commitfee58ca135a7b979c8b75e6d2eac60d695f9209b
tree58c7a7d90ee82e03011e3060cb3747c92434abdc
parentdaa099fed50a39256feb37d3fac146bf0d74152f
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
(cherry picked from commit f7a2fd776e57bd6468644bdecd91ab3aba57ba58)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_migrate.c