drm/i915/guc: Dump perf_limit_reasons for debug
authorVinay Belgaumkar <vinay.belgaumkar@intel.com>
Tue, 27 Jun 2023 19:13:36 +0000 (12:13 -0700)
committerDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Thu, 6 Jul 2023 20:33:26 +0000 (13:33 -0700)
GuC load takes longer sometimes due to GT frequency not ramping up.
Add perf_limit_reasons to the existing warn print to see if frequency
is being throttled.

v2: Review comments (Ashutosh)

Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230627191336.319381-1-vinay.belgaumkar@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c

index 364d0d5..0f79cb6 100644 (file)
@@ -251,9 +251,11 @@ static int guc_wait_ucode(struct intel_guc *guc)
                if (ret == 0)
                        ret = -ENXIO;
        } else if (delta_ms > 200) {
-               guc_warn(guc, "excessive init time: %lldms! [freq = %dMHz, before = %dMHz, status = 0x%08X, count = %d, ret = %d]\n",
-                        delta_ms, intel_rps_read_actual_frequency(&uncore->gt->rps),
-                        before_freq, status, count, ret);
+               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(&uncore->gt->rps), before_freq,
+                        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(&uncore->gt->rps),