rk: cpufreq: interactive: revert "apply intermediate load to max speed not current"
author黄涛 <huangtao@rock-chips.com>
Thu, 26 Jul 2012 09:33:58 +0000 (17:33 +0800)
committer黄涛 <huangtao@rock-chips.com>
Thu, 26 Jul 2012 09:33:58 +0000 (17:33 +0800)
drivers/cpufreq/cpufreq_interactive.c

index c8bc6488afc2cf64a3bcc3d90a66e05054ffd825..ac8f31f726e5c2ac7637fdccba24d8f779460598 100755 (executable)
@@ -221,7 +221,17 @@ static void cpufreq_interactive_timer(unsigned long data)
                        }
                }
        } else {
+#ifdef CONFIG_PLAT_RK
+               new_freq = pcpu->policy->cur * cpu_load / 100;
+               if (cpufreq_frequency_table_target(pcpu->policy, pcpu->freq_table, pcpu->policy->cur - 1, CPUFREQ_RELATION_H, &index) == 0) {
+                       unsigned int prev_freq = pcpu->freq_table[index].frequency;
+                       if (new_freq >= (prev_freq * go_hispeed_load / 100)) {
+                               new_freq = pcpu->policy->cur;
+                       }
+               }
+#else
                new_freq = pcpu->policy->max * cpu_load / 100;
+#endif
        }
 
        if (new_freq <= hispeed_freq)