summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Poynor <toddpoynor@google.com>2012-04-19 12:52:48 -0700
committerJohn Stultz <john.stultz@linaro.org>2016-02-16 13:52:36 -0800
commit759fcdd8d72529e83bdf3eb261d69aa85fcf5bda (patch)
tree869bbd7ed9fc6e7d0b7b64ef57a567c67aa5f845
parent3b14df50831d1268a80963dbfb2c7a36b87f3057 (diff)
cpufreq: interactive: base hispeed bump on target freq, not actual
For systems that set a common speed for all CPUs, checking current speed here could bypass the intermediate hispeed bump decision for this CPU when another CPU was already at hispeed. This could result in an overly high setting (for all CPUs) in situations where all CPUs were about to drop to load levels that map to hispeed or below. Change-Id: I186f23dcfc5e2b6336cab8b0327f0c8a9a4482bc Signed-off-by: Todd Poynor <toddpoynor@google.com>
-rw-r--r--drivers/cpufreq/cpufreq_interactive.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c
index bf8d7727311f..b78174fd8cff 100644
--- a/drivers/cpufreq/cpufreq_interactive.c
+++ b/drivers/cpufreq/cpufreq_interactive.c
@@ -174,7 +174,7 @@ static void cpufreq_interactive_timer(unsigned long data)
cpu_load = load_since_change;
if (cpu_load >= go_hispeed_load) {
- if (pcpu->policy->cur == pcpu->policy->min) {
+ if (pcpu->target_freq <= pcpu->policy->min) {
new_freq = hispeed_freq;
} else {
new_freq = pcpu->policy->max * cpu_load / 100;