Re: [RESEND PATCH] amd-pstate: Only print supported epp values for performance governor

From: Huang Rui
Date: Fri Nov 03 2023 - 06:00:33 EST


On Fri, Nov 03, 2023 at 05:48:15PM +0800, Jain, Ayush wrote:
> show_energy_performance_available_preferences() to show only supported
> values which is performance in performance governor policy.
>
> -------Before--------
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_driver
> amd-pstate-epp
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
> performance
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_preference
> performance
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_available_preferences
> default performance balance_performance balance_power power
>
> -------After--------
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_driver
> amd-pstate-epp
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
> performance
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_preference
> performance
> $ cat /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_available_preferences
> performance
>
> Fixes: ffa5096a7c33 ("cpufreq: amd-pstate: implement Pstate EPP support for the AMD processors")
>
> Suggested-by: Wyes Karny <wyes.karny@xxxxxxx>
> Signed-off-by: Ayush Jain <ayush.jain3@xxxxxxx>
> Reviewed-by: Wyes Karny <wyes.karny@xxxxxxx>

Nice catch, thanks for the fix.

Acked-by: Huang Rui <ray.huang@xxxxxxx>

>
> ---
> drivers/cpufreq/amd-pstate.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index 9a1e194d5cf8..e6c5a57662e4 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -850,11 +850,16 @@ static ssize_t show_energy_performance_available_preferences(
> {
> int i = 0;
> int offset = 0;
> + struct amd_cpudata *cpudata = policy->driver_data;
> +
> + if (cpudata->policy == CPUFREQ_POLICY_PERFORMANCE)
> + return sysfs_emit_at(buf, offset, "%s\n",
> + energy_perf_strings[EPP_INDEX_PERFORMANCE]);
>
> while (energy_perf_strings[i] != NULL)
> offset += sysfs_emit_at(buf, offset, "%s ", energy_perf_strings[i++]);
>
> - sysfs_emit_at(buf, offset, "\n");
> + offset += sysfs_emit_at(buf, offset, "\n");
>
> return offset;
> }
> --
> 2.34.1
>