On 9/9/2025 6:28 AM, Sk Anirban wrote:
When slpc_ignore_eff_freq is enabled, min frequency is set to RPn but
min_freq_softlimit is not updated, causing sysfs to show stale
values.

sysfs(get_min_freq) does a query_task_state and then displays the min freq. That shouldn't be stale info. Within slpc code, we are using min_freq_softlimit to track user changes to min freq. We shouldn't be overwriting this when efficient freq is toggled.

Thanks,

Vinay.


Update min freq softlimit when ignore_eff_freq is successfully enabled.

Signed-off-by: Sk Anirban <sk.anir...@intel.com>
---
  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
index d5ee6e5e1443..07fa0423b1a3 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
@@ -495,10 +495,13 @@ int intel_guc_slpc_set_ignore_eff_freq(struct 
intel_guc_slpc *slpc, bool val)
                slpc->ignore_eff_freq = val;
/* Set min to RPn when we disable efficient freq */
-               if (val)
+               if (val) {
                        ret = slpc_set_param(slpc,
                                             
SLPC_PARAM_GLOBAL_MIN_GT_UNSLICE_FREQ_MHZ,
                                             slpc->min_freq);
+                       if (!ret)
+                               slpc->min_freq_softlimit = slpc->min_freq;
+               }
        }
intel_runtime_pm_put(&i915->runtime_pm, wakeref);

Reply via email to