Commit 223217b8 authored by Zhanjun Dong's avatar Zhanjun Dong Committed by John Harrison
Browse files

drm/xe/guc: Remove duplicate source field



xe_hw_engine_snapshot.source save the information of where data copied
from. Because the 'source' field is already populated inside
'matched_node' ptr hanging off xe_devcoredump_snapshot, which happenned
either in guc_capture_extract_reglists or xe_engine_manual_capture, we
can remove this redundant copy of 'source' from xe_hw_engine_snapshot.

Signed-off-by: default avatarZhanjun Dong <zhanjun.dong@intel.com>
Reviewed-by: default avatarAlan Previn <alan.previn.teres.alexis@intel.com>

Changes from prior revs:
 v2:- Update commit message

Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241107213841.436384-1-zhanjun.dong@intel.com
parent dbf670f1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1759,7 +1759,6 @@ void xe_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot, struct drm
	if (!devcore_snapshot->matched_node)
		return;

	xe_gt_assert(gt, snapshot->source <= XE_ENGINE_CAPTURE_SOURCE_GUC);
	xe_gt_assert(gt, snapshot->hwe);

	capture_class = xe_engine_class_to_guc_capture_class(snapshot->hwe->class);
@@ -1768,7 +1767,8 @@ void xe_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot, struct drm
		   snapshot->name ? snapshot->name : "",
		   snapshot->logical_instance);
	drm_printf(p, "\tCapture_source: %s\n",
		   snapshot->source == XE_ENGINE_CAPTURE_SOURCE_GUC ? "GuC" : "Manual");
		   devcore_snapshot->matched_node->source == XE_ENGINE_CAPTURE_SOURCE_GUC ?
		   "GuC" : "Manual");
	drm_printf(p, "\tCoverage: %s\n", grptype[devcore_snapshot->matched_node->is_partial]);
	drm_printf(p, "\tForcewake: domain 0x%x, ref %d\n",
		   snapshot->forcewake.domain, snapshot->forcewake.ref);
+0 −2
Original line number Diff line number Diff line
@@ -872,7 +872,6 @@ xe_hw_engine_snapshot_capture(struct xe_hw_engine *hwe, struct xe_exec_queue *q)
			struct xe_devcoredump *coredump = &xe->devcoredump;

			coredump->snapshot.matched_node = node;
			snapshot->source = XE_ENGINE_CAPTURE_SOURCE_GUC;
			xe_gt_dbg(hwe->gt, "Found and locked GuC-err-capture node");
			return snapshot;
		}
@@ -880,7 +879,6 @@ xe_hw_engine_snapshot_capture(struct xe_hw_engine *hwe, struct xe_exec_queue *q)

	/* otherwise, do manual capture */
	xe_engine_manual_capture(hwe, snapshot);
	snapshot->source = XE_ENGINE_CAPTURE_SOURCE_MANUAL;
	xe_gt_dbg(hwe->gt, "Proceeding with manual engine snapshot");

	return snapshot;
+0 −2
Original line number Diff line number Diff line
@@ -165,8 +165,6 @@ enum xe_hw_engine_snapshot_source_id {
struct xe_hw_engine_snapshot {
	/** @name: name of the hw engine */
	char *name;
	/** @source: Data source, either manual or GuC */
	enum xe_hw_engine_snapshot_source_id source;
	/** @hwe: hw engine */
	struct xe_hw_engine *hwe;
	/** @logical_instance: logical instance of this hw engine */