✗ CI.checkpatch: warning for drm/xe/guc: Improve quality and robustness of GuC log dumping (rev2)
Patchwork
patchwork at emeril.freedesktop.org
Tue Jun 11 01:25:47 UTC 2024
== Series Details ==
Series: drm/xe/guc: Improve quality and robustness of GuC log dumping (rev2)
URL : https://patchwork.freedesktop.org/series/134695/
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
51ce9f6cd981d42d7467409d7dbc559a450abc1e
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 55275527a8e3c90264b21af86d1d5b7ee88c4766
Author: John Harrison <John.C.Harrison at Intel.com>
Date: Mon Jun 10 18:20:28 2024 -0700
drm/xe/guc: Dump entire CTB on errors
The dump of the CT buffers was only showing the unprocessed data which
is not generally useful for saying why a hang occurred - because it
was probably caused by the commands that were just processed. So save
and dump the entire buffer but in a more compact dump format. Also
zero fill it on allocation to avoid confusion over uninitialised data
in the dump.
Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
+ /mt/dim checkpatch bf9d891af55d3785eb9438efb053c991bf2b4b10 drm-intel
e8032ca02755 drm/xe/guc: Remove spurious line feed in debug print
17086d55b750 drm/xe/guc: Copy GuC log prior to dumping
19dded41b069 drm/xe/guc: Use a two stage dump for GuC logs and add more info
7607b9210892 drm/print: Introduce drm_line_printer
50ff41f41283 drm/xe/guc: Add a helper function for dumping GuC log to dmesg
b06f69de1641 drm/xe/guc: Dead CT helper
-:62: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ct' - possible side-effects?
#62: FILE: drivers/gpu/drm/xe/xe_guc_ct.c:56:
+#define CT_DEAD(ct, hxg, reason_code) \
+ do { \
+ struct guc_ctb *_hxg = (hxg); \
+ if (_hxg) \
+ _hxg->info.broken = true; \
+ if (!(ct)->dead.reported) { \
+ struct xe_guc *guc = ct_to_guc(ct); \
+ spin_lock_irq(&ct->dead.lock); \
+ (ct)->dead.reason |= 1 << CT_DEAD_##reason_code; \
+ (ct)->dead.snapshot_log = xe_guc_log_snapshot_capture(&guc->log, true); \
+ (ct)->dead.snapshot_ct = xe_guc_ct_snapshot_capture((ct), true); \
+ spin_unlock_irq(&ct->dead.lock); \
+ queue_work(system_unbound_wq, &(ct)->dead.worker); \
+ } \
+ } while (0)
-:78: WARNING:MACRO_ARG_UNUSED: Argument 'ct' is not used in function-like macro
#78: FILE: drivers/gpu/drm/xe/xe_guc_ct.c:72:
+#define CT_DEAD(ct, hxg, reason) \
+ do { \
+ struct guc_ctb *_hxg = (hxg); \
+ if (_hxg) \
+ _hxg->info.broken = true; \
+ } while (0)
-:78: WARNING:MACRO_ARG_UNUSED: Argument 'reason' is not used in function-like macro
#78: FILE: drivers/gpu/drm/xe/xe_guc_ct.c:72:
+#define CT_DEAD(ct, hxg, reason) \
+ do { \
+ struct guc_ctb *_hxg = (hxg); \
+ if (_hxg) \
+ _hxg->info.broken = true; \
+ } while (0)
total: 0 errors, 2 warnings, 1 checks, 460 lines checked
55275527a8e3 drm/xe/guc: Dump entire CTB on errors
More information about the Intel-xe
mailing list