]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/xe: handle flat ccs during hibernation on igpu
authorMatthew Auld <matthew.auld@intel.com>
Tue, 12 Nov 2024 16:28:28 +0000 (16:28 +0000)
committerMatthew Auld <matthew.auld@intel.com>
Wed, 13 Nov 2024 10:04:36 +0000 (10:04 +0000)
commitc8b3c6db941299d7cc31bd9befed3518fdebaf68
tree493de86f34c54fd78395eccf4115c579ea0dfde6
parent7d4d1c54c40ef8469ab46b9a6677f380f9b01e75
drm/xe: handle flat ccs during hibernation on igpu

Starting from LNL, CCS has moved over to flat CCS model where there is
now dedicated memory reserved for storing compression state. On
platforms like LNL this reserved memory lives inside graphics stolen
memory, which is not treated like normal RAM and is therefore skipped by
the core kernel when creating the hibernation image. Currently if
something was compressed and we enter hibernation all the corresponding
CCS state is lost on such HW, resulting in corrupted memory. To fix this
evict user buffers from TT -> SYSTEM to ensure we take a snapshot of the
raw CCS state when entering hibernation, where upon resuming we can
restore the raw CCS state back when next validating the buffer. This has
been confirmed to fix display corruption on LNL when coming back from
hibernation.

Fixes: cbdc52c11c9b ("drm/xe/xe2: Support flat ccs")
Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3409
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <stable@vger.kernel.org> # v6.8+
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241112162827.116523-2-matthew.auld@intel.com
drivers/gpu/drm/xe/xe_bo_evict.c