ARM: ux500: fix the smp_twd clock calculation
authorLinus Walleij <linus.walleij@linaro.org>
Sun, 18 Dec 2011 23:28:50 +0000 (00:28 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Sun, 18 Dec 2011 23:35:08 +0000 (00:35 +0100)
The clock for the smp_twd block is not equal to the CPU
frequency, actually it is divided by two, so fix this,
and set the initial frequency to half of 1GHz which is
the most common case.

Reported-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/mach-ux500/clock.c

index 2ebf998..7379075 100644 (file)
@@ -651,7 +651,7 @@ err_out:
 late_initcall(clk_debugfs_init);
 #endif /* defined(CONFIG_DEBUG_FS) */
 
-unsigned long clk_smp_twd_rate = 400000000;
+unsigned long clk_smp_twd_rate = 500000000;
 
 unsigned long clk_smp_twd_get_rate(struct clk *clk)
 {
@@ -677,7 +677,7 @@ static int clk_twd_cpufreq_transition(struct notifier_block *nb,
 
        if (state == CPUFREQ_PRECHANGE) {
                /* Save frequency in simple Hz */
-               clk_smp_twd_rate = f->new * 1000;
+               clk_smp_twd_rate = (f->new * 1000) / 2;
        }
 
        return NOTIFY_OK;