Blackfin: cpufreq: use a constant latency
authorMichael Hennerich <michael.hennerich@analog.com>
Fri, 25 Sep 2009 09:03:21 +0000 (09:03 +0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 15 Dec 2009 05:14:00 +0000 (00:14 -0500)
PLL_LOCKCNT applies only to the PLL programming sequence which does not
apply to core and system clock dividers.  Writes to PLL_DIV to change the
CSEL/SSEL dividers take effect immediately.

There is still overhead in software in writing the new dividers, so just
use a value of 50us as this should be good enough.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/mach-common/cpufreq.c

index 0150650..3d18d2b 100644 (file)
@@ -138,7 +138,8 @@ static int __init __bfin_cpu_init(struct cpufreq_policy *policy)
                                                 dpm_state_table[index].tscale);
        }
 
-       policy->cpuinfo.transition_latency = (bfin_read_PLL_LOCKCNT() / (sclk / 1000000)) * 1000;
+       policy->cpuinfo.transition_latency = 50000; /* 50us assumed */
+
        /*Now ,only support one cpu */
        policy->cur = cclk;
        cpufreq_frequency_table_get_attr(bfin_freq_table, policy->cpu);