cpufreq: interactive: rk: fix hispeed_freq setup when policy min freq too large
author黄涛 <huangtao@rock-chips.com>
Mon, 16 Apr 2012 06:31:35 +0000 (14:31 +0800)
committer黄涛 <huangtao@rock-chips.com>
Mon, 16 Apr 2012 06:31:35 +0000 (14:31 +0800)
drivers/cpufreq/cpufreq_interactive.c

index ae9b95016a1acb02be9779aa762bb78fd8a316ec..fd8b2793f54a909667223375b072deafb72ab291 100755 (executable)
@@ -571,7 +571,14 @@ static int cpufreq_governor_interactive(struct cpufreq_policy *policy,
 
                if (!hispeed_freq)
 #ifdef CONFIG_PLAT_RK
-                       hispeed_freq = 816000;
+               {
+                       unsigned int index;
+                       hispeed_freq = policy->max;
+                       if (policy->min < 816000)
+                               hispeed_freq = 816000;
+                       else if (cpufreq_frequency_table_target(policy, freq_table, policy->min + 1, CPUFREQ_RELATION_L, &index) == 0)
+                               hispeed_freq = freq_table[index].frequency;
+               }
 #else
                        hispeed_freq = policy->max;
 #endif