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

drm/i915/uc: Include requested frequency in slow firmware load messages



To aid debug of sporadic issues, include the requested frequency in
the debug message as well as the actual frequency. That way we know
for certain that the clamping is not because the driver forgot to ask.

Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarVinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: default avatarKrzysztof Karas <krzysztof.karas@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241221014329.4048408-1-John.C.Harrison@Intel.com
parent 1113fc0e
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -259,13 +259,14 @@ static int guc_wait_ucode(struct intel_guc *guc)
	} else if (delta_ms > 200) {
		guc_warn(guc, "excessive init time: %lldms! [status = 0x%08X, count = %d, ret = %d]\n",
			 delta_ms, status, count, ret);
		guc_warn(guc, "excessive init time: [freq = %dMHz, before = %dMHz, perf_limit_reasons = 0x%08X]\n",
			 intel_rps_read_actual_frequency(&gt->rps), before_freq,
		guc_warn(guc, "excessive init time: [freq = %dMHz -> %dMHz vs %dMHz, perf_limit_reasons = 0x%08X]\n",
			 before_freq, intel_rps_read_actual_frequency(&gt->rps),
			 intel_rps_get_requested_frequency(&gt->rps),
			 intel_uncore_read(uncore, intel_gt_perf_limit_reasons_reg(gt)));
	} else {
		guc_dbg(guc, "init took %lldms, freq = %dMHz, before = %dMHz, status = 0x%08X, count = %d, ret = %d\n",
			delta_ms, intel_rps_read_actual_frequency(&gt->rps),
			before_freq, status, count, ret);
		guc_dbg(guc, "init took %lldms, freq = %dMHz -> %dMHz vs %dMHz, status = 0x%08X, count = %d, ret = %d\n",
			delta_ms, before_freq, intel_rps_read_actual_frequency(&gt->rps),
			intel_rps_get_requested_frequency(&gt->rps), status, count, ret);
	}

	return ret;
+7 −5
Original line number Diff line number Diff line
@@ -489,13 +489,15 @@ int intel_huc_wait_for_auth_complete(struct intel_huc *huc,
	if (delta_ms > 50) {
		huc_warn(huc, "excessive auth time: %lldms! [status = 0x%08X, count = %d, ret = %d]\n",
			 delta_ms, huc->status[type].reg.reg, count, ret);
		huc_warn(huc, "excessive auth time: [freq = %dMHz, before = %dMHz, perf_limit_reasons = 0x%08X]\n",
			 intel_rps_read_actual_frequency(&gt->rps), before_freq,
		huc_warn(huc, "excessive auth time: [freq = %dMHz -> %dMHz vs %dMHz, perf_limit_reasons = 0x%08X]\n",
			 before_freq, intel_rps_read_actual_frequency(&gt->rps),
			 intel_rps_get_requested_frequency(&gt->rps),
			 intel_uncore_read(uncore, intel_gt_perf_limit_reasons_reg(gt)));
	} else {
		huc_dbg(huc, "auth took %lldms, freq = %dMHz, before = %dMHz, status = 0x%08X, count = %d, ret = %d\n",
			delta_ms, intel_rps_read_actual_frequency(&gt->rps),
			before_freq, huc->status[type].reg.reg, count, ret);
		huc_dbg(huc, "auth took %lldms, freq = %dMHz -> %dMHz vs %dMHz, status = 0x%08X, count = %d, ret = %d\n",
			delta_ms, before_freq, intel_rps_read_actual_frequency(&gt->rps),
			intel_rps_get_requested_frequency(&gt->rps),
			huc->status[type].reg.reg, count, ret);
	}

	/* mark the load process as complete even if the wait failed */