✗ CI.checkpatch: warning for series starting with [1/2] drm/xe: Restore system memory GGTT mappings
Patchwork
patchwork at emeril.freedesktop.org
Fri Nov 1 15:52:49 UTC 2024
== Series Details ==
Series: series starting with [1/2] drm/xe: Restore system memory GGTT mappings
URL : https://patchwork.freedesktop.org/series/140819/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 6b70ad19710578734e2395ad20692185f493abeb
Author: Matthew Auld <matthew.auld at intel.com>
Date: Fri Nov 1 15:47:26 2024 +0000
drm/xe: improve hibernation on igpu
The GGTT looks to be stored inside stolen memory on igpu which is not
treated as normal RAM. The core kernel skips this memory range when
creating the hibernation image, therefore when coming back from
hibernation the GGTT programming is lost. This seems to cause issues
with broken resume where GuC FW fails to load:
[drm] *ERROR* GT0: load failed: status = 0x400000A0, time = 10ms, freq = 1250MHz (req 1300MHz), done = -1
[drm] *ERROR* GT0: load failed: status: Reset = 0, BootROM = 0x50, UKernel = 0x00, MIA = 0x00, Auth = 0x01
[drm] *ERROR* GT0: firmware signature verification failed
[drm] *ERROR* CRITICAL: Xe has declared device 0000:00:02.0 as wedged.
Current GGTT users are kernel internal and tracked as pinned, so it
should be possible to hook into the existing save/restore logic that we
use for dgpu, where the actual evict is skipped but on restore we
importantly restore the GGTT programming. This has been confirmed to
fix hibernation on at least ADL and MTL, though likely all igpu
platforms are affected.
This also means we have a hole in our testing, where the existing s4
tests only really test the driver hooks, and don't go as far as actually
rebooting and restoring from the hibernation image and in turn powering
down RAM (and therefore losing the contents of stolen).
Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3275
Signed-off-by: Matthew Auld <matthew.auld at intel.com>
Cc: Matthew Brost <matthew.brost at intel.com>
Cc: <stable at vger.kernel.org> # v6.8+
+ /mt/dim checkpatch 1f43c3e0b6e59a28f62c32fab537ad6b5c91d065 drm-intel
2155f6a2430e drm/xe: Restore system memory GGTT mappings
-:33: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around bo->placements[0]
#33: FILE: drivers/gpu/drm/xe/xe_bo.c:942:
+ struct ttm_place *place = &(bo->placements[0]);
total: 0 errors, 0 warnings, 1 checks, 52 lines checked
6b70ad197105 drm/xe: improve hibernation on igpu
-:12: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#12:
[drm] *ERROR* GT0: load failed: status = 0x400000A0, time = 10ms, freq = 1250MHz (req 1300MHz), done = -1
-:55: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around bo->placements[0]
#55: FILE: drivers/gpu/drm/xe/xe_bo.c:1776:
+ struct ttm_place *place = &(bo->placements[0]);
-:90: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around bo->placements[0]
#90: FILE: drivers/gpu/drm/xe/xe_bo.c:1868:
+ struct ttm_place *place = &(bo->placements[0]);
total: 0 errors, 1 warnings, 2 checks, 91 lines checked
More information about the Intel-xe
mailing list