]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/xe/guc: Extract GuC error capture lists
authorZhanjun Dong <zhanjun.dong@intel.com>
Fri, 4 Oct 2024 19:34:26 +0000 (12:34 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Tue, 8 Oct 2024 16:34:45 +0000 (09:34 -0700)
commit8bfc496327ce0f3bd02445048e3a70cc97accc6d
treecdd4c9c5717ef44ee6511503233f7557037a8013
parent84d15f426110c9f39cedf499b04d7b3642dca428
drm/xe/guc: Extract GuC error capture lists

Upon the G2H Notify-Err-Capture event, parse through the
GuC Log Buffer (error-capture-subregion) and generate one or
more capture-nodes. A single node represents a single "engine-
instance-capture-dump" and contains at least 3 register lists:
global, engine-class and engine-instance. An internal link
list is maintained to store one or more nodes.

Because the link-list node generation happen before the call
to devcoredump, duplicate global and engine-class register
lists for each engine-instance register dump if we find
dependent-engine resets in a engine-capture-group.

To avoid dynamically allocate the output nodes during gt reset,
pre-allocate a fixed number of empty nodes up front (at the
time of ADS registration) that we can consume from or return to
an internal cached list of nodes.

Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241004193428.3311145-5-zhanjun.dong@intel.com
drivers/gpu/drm/xe/abi/guc_actions_abi.h
drivers/gpu/drm/xe/abi/guc_log_abi.h
drivers/gpu/drm/xe/xe_guc_capture.c
drivers/gpu/drm/xe/xe_guc_capture.h
drivers/gpu/drm/xe/xe_guc_ct.c
drivers/gpu/drm/xe/xe_guc_log.c
drivers/gpu/drm/xe/xe_guc_log.h
drivers/gpu/drm/xe/xe_guc_log_types.h
drivers/gpu/drm/xe/xe_guc_submit.c
drivers/gpu/drm/xe/xe_guc_submit.h