Commit b092e4a9 authored by John Harrison's avatar John Harrison
Browse files

drm/i915/guc: Reduce spam from error capture



Some debug code got left in when the GuC based register save for error
capture was added. Remove that.

Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarAlan Previn <alan.previn.teres.alexis@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220728022028.2190627-8-John.C.Harrison@Intel.com
parent 8ad0152a
Loading
Loading
Loading
Loading
+28 −39
Original line number Diff line number Diff line
@@ -1383,33 +1383,22 @@ guc_capture_reg_to_str(const struct intel_guc *guc, u32 owner, u32 type,
	return NULL;
}

#ifdef CONFIG_DRM_I915_DEBUG_GUC
#define __out(a, ...) \
	do { \
		drm_warn((&(a)->i915->drm), __VA_ARGS__); \
		i915_error_printf((a), __VA_ARGS__); \
	} while (0)
#else
#define __out(a, ...) \
	i915_error_printf(a, __VA_ARGS__)
#endif

#define GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng) \
	do { \
		__out(ebuf, "    i915-Eng-Name: %s command stream\n", \
		i915_error_printf(ebuf, "    i915-Eng-Name: %s command stream\n", \
				  (eng)->name); \
		__out(ebuf, "    i915-Eng-Inst-Class: 0x%02x\n", (eng)->class); \
		__out(ebuf, "    i915-Eng-Inst-Id: 0x%02x\n", (eng)->instance); \
		__out(ebuf, "    i915-Eng-LogicalMask: 0x%08x\n", \
		i915_error_printf(ebuf, "    i915-Eng-Inst-Class: 0x%02x\n", (eng)->class); \
		i915_error_printf(ebuf, "    i915-Eng-Inst-Id: 0x%02x\n", (eng)->instance); \
		i915_error_printf(ebuf, "    i915-Eng-LogicalMask: 0x%08x\n", \
				  (eng)->logical_mask); \
	} while (0)

#define GCAP_PRINT_GUC_INST_INFO(ebuf, node) \
	do { \
		__out(ebuf, "    GuC-Engine-Inst-Id: 0x%08x\n", \
		i915_error_printf(ebuf, "    GuC-Engine-Inst-Id: 0x%08x\n", \
				  (node)->eng_inst); \
		__out(ebuf, "    GuC-Context-Id: 0x%08x\n", (node)->guc_id); \
		__out(ebuf, "    LRCA: 0x%08x\n", (node)->lrca); \
		i915_error_printf(ebuf, "    GuC-Context-Id: 0x%08x\n", (node)->guc_id); \
		i915_error_printf(ebuf, "    LRCA: 0x%08x\n", (node)->lrca); \
	} while (0)

int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,
@@ -1441,29 +1430,29 @@ int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,

	guc = &ee->engine->gt->uc.guc;

	__out(ebuf, "global --- GuC Error Capture on %s command stream:\n",
	i915_error_printf(ebuf, "global --- GuC Error Capture on %s command stream:\n",
			  ee->engine->name);

	node = ee->guc_capture_node;
	if (!node) {
		__out(ebuf, "  No matching ee-node\n");
		i915_error_printf(ebuf, "  No matching ee-node\n");
		return 0;
	}

	__out(ebuf, "Coverage:  %s\n", grptype[node->is_partial]);
	i915_error_printf(ebuf, "Coverage:  %s\n", grptype[node->is_partial]);

	for (i = GUC_CAPTURE_LIST_TYPE_GLOBAL; i < GUC_CAPTURE_LIST_TYPE_MAX; ++i) {
		__out(ebuf, "  RegListType: %s\n",
		i915_error_printf(ebuf, "  RegListType: %s\n",
				  datatype[i % GUC_CAPTURE_LIST_TYPE_MAX]);
		__out(ebuf, "    Owner-Id: %d\n", node->reginfo[i].vfid);
		i915_error_printf(ebuf, "    Owner-Id: %d\n", node->reginfo[i].vfid);

		switch (i) {
		case GUC_CAPTURE_LIST_TYPE_GLOBAL:
		default:
			break;
		case GUC_CAPTURE_LIST_TYPE_ENGINE_CLASS:
			__out(ebuf, "    GuC-Eng-Class: %d\n", node->eng_class);
			__out(ebuf, "    i915-Eng-Class: %d\n",
			i915_error_printf(ebuf, "    GuC-Eng-Class: %d\n", node->eng_class);
			i915_error_printf(ebuf, "    i915-Eng-Class: %d\n",
					  guc_class_to_engine_class(node->eng_class));
			break;
		case GUC_CAPTURE_LIST_TYPE_ENGINE_INSTANCE:
@@ -1471,27 +1460,27 @@ int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,
			if (eng)
				GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng);
			else
				__out(ebuf, "    i915-Eng-Lookup Fail!\n");
				i915_error_printf(ebuf, "    i915-Eng-Lookup Fail!\n");
			GCAP_PRINT_GUC_INST_INFO(ebuf, node);
			break;
		}

		numregs = node->reginfo[i].num_regs;
		__out(ebuf, "    NumRegs: %d\n", numregs);
		i915_error_printf(ebuf, "    NumRegs: %d\n", numregs);
		j = 0;
		while (numregs--) {
			regs = node->reginfo[i].regs;
			str = guc_capture_reg_to_str(guc, GUC_CAPTURE_LIST_INDEX_PF, i,
						     node->eng_class, 0, regs[j].offset, &is_ext);
			if (!str)
				__out(ebuf, "      REG-0x%08x", regs[j].offset);
				i915_error_printf(ebuf, "      REG-0x%08x", regs[j].offset);
			else
				__out(ebuf, "      %s", str);
				i915_error_printf(ebuf, "      %s", str);
			if (is_ext)
				__out(ebuf, "[%ld][%ld]",
				i915_error_printf(ebuf, "[%ld][%ld]",
					FIELD_GET(GUC_REGSET_STEERING_GROUP, regs[j].flags),
					FIELD_GET(GUC_REGSET_STEERING_INSTANCE, regs[j].flags));
			__out(ebuf, ":  0x%08x\n", regs[j].value);
			i915_error_printf(ebuf, ":  0x%08x\n", regs[j].value);
			++j;
		}
	}