On 9/9/2025 11:22 PM, Anirban, Sk wrote:
Hi,

On 10-09-2025 04:07, Belgaumkar, Vinay wrote:

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.
While fetching min_freq, we currently return slpc->min_freq_softlimit from intel_rps_get_min_frequency. However, if the internal minimum frequency has been updated to RPn, imo this change should be reflected to the user as well.

Are you seeing an issue with this? min_freq_softlimit is initialized to RPn afaics. So, changing min_freq to RPn when we disable RPe should not affect anything.

Thanks,

Vinay.


Thanks,
Anirban


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