mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
intel_pstate: Correct calculation of min pstate value
The minimum pstate is supposed to be a percentage of the maximum P state available. Calculate min using max pstate and not the current max which may have been limited by the user Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
d253d2a526
commit
7244cb62d9
@ -366,12 +366,13 @@ static int intel_pstate_turbo_pstate(void)
|
|||||||
static void intel_pstate_get_min_max(struct cpudata *cpu, int *min, int *max)
|
static void intel_pstate_get_min_max(struct cpudata *cpu, int *min, int *max)
|
||||||
{
|
{
|
||||||
int max_perf = cpu->pstate.turbo_pstate;
|
int max_perf = cpu->pstate.turbo_pstate;
|
||||||
|
int max_perf_adj;
|
||||||
int min_perf;
|
int min_perf;
|
||||||
if (limits.no_turbo)
|
if (limits.no_turbo)
|
||||||
max_perf = cpu->pstate.max_pstate;
|
max_perf = cpu->pstate.max_pstate;
|
||||||
|
|
||||||
max_perf = fp_toint(mul_fp(int_tofp(max_perf), limits.max_perf));
|
max_perf_adj = fp_toint(mul_fp(int_tofp(max_perf), limits.max_perf));
|
||||||
*max = clamp_t(int, max_perf,
|
*max = clamp_t(int, max_perf_adj,
|
||||||
cpu->pstate.min_pstate, cpu->pstate.turbo_pstate);
|
cpu->pstate.min_pstate, cpu->pstate.turbo_pstate);
|
||||||
|
|
||||||
min_perf = fp_toint(mul_fp(int_tofp(max_perf), limits.min_perf));
|
min_perf = fp_toint(mul_fp(int_tofp(max_perf), limits.min_perf));
|
||||||
|
Loading…
Reference in New Issue
Block a user