]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ARM: mvebu: ensure CPU clocks are enabled
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 9 Jul 2014 15:45:09 +0000 (17:45 +0200)
committerJason Cooper <jason@lakedaemon.net>
Wed, 16 Jul 2014 12:58:30 +0000 (12:58 +0000)
In the Armada XP SMP support code, we are reading the clock frequency
of the booting CPU, and use that to assign the same frequency to the
other CPUs, and we do this while the clocks are disabled.

However, the CPU clocks are in fact never prepared/enabled, and to
support cpufreq, we now have two code paths to change the frequency of
the CPU clocks in the CPU clock driver: one when the clock is enabled
(dynamic frequency scaling), one when the clock is disabled (adjusting
the CPU frequency before starting the CPU). In order for this to work,
the CPU clocks now have to be prepared and enabled after the initial
synchronization of the clock frequencies is done, so that all future
rate changes of the CPU clocks will trigger a dynamic frequency
scaling transition.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1404920715-19834-2-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/mach-mvebu/platsmp.c

index 88b976b317198f7733b4945eaad440c195175aaa..4880b0f7036243257973fd92fb3bb5322d17e470 100644 (file)
@@ -67,6 +67,7 @@ static void __init set_secondary_cpus_clock(void)
                if (!cpu_clk)
                        return;
                clk_set_rate(cpu_clk, rate);
+               clk_prepare_enable(cpu_clk);
        }
 }