diff options
Diffstat (limited to 'drivers/cpufreq/cpufreq.c')
| -rw-r--r-- | drivers/cpufreq/cpufreq.c | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 47aa90f9a7c2..4d5fe777184a 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -446,6 +446,10 @@ void cpufreq_freq_transition_end(struct cpufreq_policy *policy,  	cpufreq_notify_post_transition(policy, freqs, transition_failed); +	arch_set_freq_scale(policy->related_cpus, +			    policy->cur, +			    policy->cpuinfo.max_freq); +  	policy->transition_ongoing = false;  	policy->transition_task = NULL; @@ -2056,9 +2060,15 @@ EXPORT_SYMBOL(cpufreq_unregister_notifier);  unsigned int cpufreq_driver_fast_switch(struct cpufreq_policy *policy,  					unsigned int target_freq)  { +	unsigned int freq; +  	target_freq = clamp_val(target_freq, policy->min, policy->max); +	freq = cpufreq_driver->fast_switch(policy, target_freq); + +	arch_set_freq_scale(policy->related_cpus, freq, +			    policy->cpuinfo.max_freq); -	return cpufreq_driver->fast_switch(policy, target_freq); +	return freq;  }  EXPORT_SYMBOL_GPL(cpufreq_driver_fast_switch);  | 
