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);