Re: [PATCH v4 3/7] cpufreq: amd-pstate: fix max_perf calculation for amd_get_max_freq()

From: Gautham R. Shenoy
Date: Thu Mar 14 2024 - 05:43:45 EST


On Wed, Mar 13, 2024 at 06:04:40PM +0800, Perry Yuan wrote:
> From: Perry Yuan <Perry.Yuan@xxxxxxx>
>
> When CPU core Precision Boost state changed, the max frequency will also
> need to be updated according to the current boost state, if boost is
> disabled now, the max perf will be limited to nominal perf values.
> otherwise the max frequency will be showed wrongly.
>
> Signed-off-by: Perry Yuan <Perry.Yuan@xxxxxxx>

Looks good to me.

Reviewed-by: Gautham R. Shenoy <gautham.shenoy@xxxxxxx>

> ---
> drivers/cpufreq/amd-pstate.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index d54399ebb758..0965fbf660dd 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -632,6 +632,10 @@ static int amd_get_max_freq(struct amd_cpudata *cpudata)
> nominal_perf = READ_ONCE(cpudata->nominal_perf);
> max_perf = READ_ONCE(cpudata->highest_perf);
>
> + /* when boost is off, the highest perf will be limited to nominal_perf */
> + if (!amd_pstate_global_params.cpb_boost)
> + max_perf = nominal_perf;
> +
> boost_ratio = div_u64(max_perf << SCHED_CAPACITY_SHIFT,
> nominal_perf);
>
> --
> 2.34.1
>