rk3188: -t: limit arm freq within 1.4GHz, and delete useless freq
authorchenxing <chenxing@rock-chips.com>
Tue, 24 Sep 2013 09:36:16 +0000 (17:36 +0800)
committerchenxing <chenxing@rock-chips.com>
Tue, 24 Sep 2013 09:49:35 +0000 (17:49 +0800)
arch/arm/mach-rk3188/cpufreq.c

index 6fbb0f7844895fd396ca19f310d5dcd76b1fbf2f..aa129cb96e7045b494c28786a30007b2ebf70285 100644 (file)
@@ -496,7 +496,14 @@ static int rk3188_cpufreq_init_cpu0(struct cpufreq_policy *policy)
        low_battery_freq = get_freq_from_table(low_battery_freq);
        clk_enable_dvfs(cpu_clk);
        if(rk_tflag()){
-               dvfs_clk_enable_limit(cpu_clk, 0, 1416 * 1000 * 1000);
+#define RK3188_T_LIMIT_FREQ    (1416 * 1000)
+               dvfs_clk_enable_limit(cpu_clk, 0, RK3188_T_LIMIT_FREQ * 1000);
+               for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) {
+                       if (freq_table[i].frequency > RK3188_T_LIMIT_FREQ) {
+                               printk("cpufreq: delete arm freq(%u)\n", freq_table[i].frequency);
+                               freq_table[i].frequency = CPUFREQ_TABLE_END;
+                       }
+               }
        }
        freq_wq = alloc_workqueue("rk3188_cpufreqd", WQ_NON_REENTRANT | WQ_MEM_RECLAIM | WQ_HIGHPRI | WQ_FREEZABLE, 1);
        rk3188_cpufreq_temp_limit_init(policy);