cpufreq: interactive: prevents the frequency to directly raise above the hispeed_freq...
authorRuchi Kandoi <kandoiruchi@google.com>
Fri, 13 Jun 2014 23:24:15 +0000 (16:24 -0700)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:53:03 +0000 (13:53 -0800)
When the load was below go_hispeed_load, there is a possibility that
choose_freq() would return a frequency which would be higher than the
hispeed_freq. According to the policy we should first jump to the
hispeed_freq, stay there for above_hispeed_delay and then be allowed to
raise higher than that.

Added a check to prevent the frequency to be directly raised to
something higher than the hispeed_freq.

Change-Id: Icda5d848dd9beadcc18835082ddf269732c75bd0
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
drivers/cpufreq/cpufreq_interactive.c

index 6c4b6a895e0db24a1f0736c3faacbec758586cbc..f0e6fe220efb43654028870859d45a1c17f1eb7e 100644 (file)
@@ -377,6 +377,9 @@ static void cpufreq_interactive_timer(unsigned long data)
                }
        } else {
                new_freq = choose_freq(pcpu, loadadjfreq);
+               if (new_freq > tunables->hispeed_freq &&
+                               pcpu->target_freq < tunables->hispeed_freq)
+                       new_freq = tunables->hispeed_freq;
        }
 
        if (pcpu->target_freq >= tunables->hispeed_freq &&