]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/uc: Include requested frequency in slow firmware load messages
authorJohn Harrison <John.C.Harrison@Intel.com>
Sat, 21 Dec 2024 01:43:29 +0000 (17:43 -0800)
committerJohn Harrison <John.C.Harrison@Intel.com>
Fri, 17 Jan 2025 19:29:08 +0000 (11:29 -0800)
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: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241221014329.4048408-1-John.C.Harrison@Intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c
drivers/gpu/drm/i915/gt/uc/intel_huc.c

index 23f54c84cbab20a4de131d7015a37d6048101672..e37d227dc199e21d6aed4fe061e270a0d42da5d1 100644 (file)
@@ -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;
index 80a09df2035513e69e3e79d1fbc1e2c5324e74f5..089a86df33a99342c106a769f777dfbcd40f3003 100644 (file)
@@ -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 */