cpufreq: interactive: prevents the frequency to directly raise above the
authorRuchi Kandoi <kandoiruchi@google.com>
Fri, 13 Jun 2014 23:24:15 +0000 (16:24 -0700)
committerRuchi Kandoi <kandoiruchi@google.com>
Fri, 13 Jun 2014 23:56:14 +0000 (16:56 -0700)
hispeed_freq from a lower frequency.

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 a376dfa8f412babc220b5a1023e32b5b264d671a..437aaed570572fcb78944c75bc3889641d0f83af 100644 (file)
@@ -417,6 +417,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 &&