On Thu, Dec 05, 2024 at 01:44:13PM +0530, Raag Jadav wrote: > Log throttle reasons on selftest failure which will be useful for > debugging. > > Signed-off-by: Raag Jadav <raag.jadav@xxxxxxxxx> > --- > drivers/gpu/drm/i915/gt/selftest_rps.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c b/drivers/gpu/drm/i915/gt/selftest_rps.c > index dcef8d498919..1e0e59bc69b6 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_rps.c > +++ b/drivers/gpu/drm/i915/gt/selftest_rps.c > @@ -478,8 +478,11 @@ int live_rps_control(void *arg) > min, max, ktime_to_ns(min_dt), ktime_to_ns(max_dt)); > > if (limit == rps->min_freq) { I was going to merge this, but then I noticed that this prints only when the throttle moves that to our min_freq... When PCODE throttle the freq, the guaranteed freq can be at any point, not necessarily to the minimal, so this print is not very effective in the end of the day > - pr_err("%s: GPU throttled to minimum!\n", > - engine->name); > + u32 throttle = intel_uncore_read(gt->uncore, > + intel_gt_perf_limit_reasons_reg(gt)); > + > + pr_err("%s: GPU throttled to minimum frequency with reasons 0x%08x\n", > + engine->name, throttle & GT0_PERF_LIMIT_REASONS_MASK); > show_pstate_limits(rps); > err = -ENODEV; > break; > -- > 2.34.1 >