diff options
Diffstat (limited to 'drivers/cpufreq/intel_pstate.c')
| -rw-r--r-- | drivers/cpufreq/intel_pstate.c | 21 | 
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 6133ef5cf67..cc3a8e6c92b 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c @@ -1,5 +1,5 @@  /* - * cpufreq_snb.c: Native P state management for Intel processors + * intel_pstate.c: Native P state management for Intel processors   *   * (C) Copyright 2012 Intel Corporation   * Author: Dirk Brandewie <dirk.j.brandewie@intel.com> @@ -657,30 +657,27 @@ static unsigned int intel_pstate_get(unsigned int cpu_num)  static int intel_pstate_set_policy(struct cpufreq_policy *policy)  {  	struct cpudata *cpu; -	int min, max;  	cpu = all_cpu_data[policy->cpu];  	if (!policy->cpuinfo.max_freq)  		return -ENODEV; -	intel_pstate_get_min_max(cpu, &min, &max); - -	limits.min_perf_pct = (policy->min * 100) / policy->cpuinfo.max_freq; -	limits.min_perf_pct = clamp_t(int, limits.min_perf_pct, 0 , 100); -	limits.min_perf = div_fp(int_tofp(limits.min_perf_pct), int_tofp(100)); - -	limits.max_perf_pct = policy->max * 100 / policy->cpuinfo.max_freq; -	limits.max_perf_pct = clamp_t(int, limits.max_perf_pct, 0 , 100); -	limits.max_perf = div_fp(int_tofp(limits.max_perf_pct), int_tofp(100)); -  	if (policy->policy == CPUFREQ_POLICY_PERFORMANCE) {  		limits.min_perf_pct = 100;  		limits.min_perf = int_tofp(1);  		limits.max_perf_pct = 100;  		limits.max_perf = int_tofp(1);  		limits.no_turbo = 0; +		return 0;  	} +	limits.min_perf_pct = (policy->min * 100) / policy->cpuinfo.max_freq; +	limits.min_perf_pct = clamp_t(int, limits.min_perf_pct, 0 , 100); +	limits.min_perf = div_fp(int_tofp(limits.min_perf_pct), int_tofp(100)); + +	limits.max_perf_pct = policy->max * 100 / policy->cpuinfo.max_freq; +	limits.max_perf_pct = clamp_t(int, limits.max_perf_pct, 0 , 100); +	limits.max_perf = div_fp(int_tofp(limits.max_perf_pct), int_tofp(100));  	return 0;  }  |