linux/arch/arm/mach-mvebu
Thomas Petazzoni 831e251889 ARM: mvebu: ensure CPU clocks are enabled
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>
2014-07-16 12:58:30 +00:00
..
include/mach ARM: mvebu: Simplify headers and make local 2014-02-22 21:19:59 +00:00
armada-370-xp.h irqchip: irq-armada-370-xp: Use cpu notifier to initialize secondary CPUs 2014-05-08 14:42:00 +00:00
board-v7.c Fix ARM merge mistake in mvebu board file 2014-06-06 10:24:07 -07:00
board.h ARM: Kirkwood: t5325: Remove platform device to instantiate audio 2014-05-08 16:23:28 +00:00
coherency_ll.S ARM: mvebu: returns ll_get_cpuid() to ll_get_coherency_cpumask() 2014-05-22 14:26:30 +00:00
coherency.c ARM: mvebu: coherency: fix registration of PCI bus notifier when !PCI 2014-05-22 14:17:46 +00:00
coherency.h ARM: mvebu: Remove the unused argument of set_cpu_coherent() 2014-05-08 16:18:52 +00:00
common.h ARM: mvebu: add function to set the resume boot address for Armada 375 2014-05-08 16:08:14 +00:00
cpu-reset.c ARM: mvebu: start using the CPU reset driver 2014-04-24 05:24:03 +00:00
dove.c bus: mvebu: pass the coherency availability information at init time 2014-04-24 05:00:36 +00:00
headsmp-a9.S ARM: mvebu: add workaround for SMP support for Armada 375 stepping Z1 2014-05-08 16:08:30 +00:00
headsmp.S ARM: mvebu: Split low level functions to manipulate HW coherency 2014-05-08 16:18:54 +00:00
hotplug.c ARM: mvebu: fix some sparse warnings 2013-11-24 03:27:54 +00:00
Kconfig ARM: SoC updates for 3.16 (part 1) 2014-06-02 16:15:12 -07:00
kirkwood-pm.c ARM: mvebu: Simplify headers and make local 2014-02-22 21:19:59 +00:00
kirkwood-pm.h ARM: mvebu: Move kirkwood DT boards into mach-mvebu 2014-02-22 21:19:55 +00:00
kirkwood.c ARM: Kirkwood: t5325: Remove platform device to instantiate audio 2014-05-08 16:23:28 +00:00
kirkwood.h ARM: mvebu: Simplify headers and make local 2014-02-22 21:19:59 +00:00
Makefile ARM: mvebu: Fix pmsu compilation when ARMv6 is selected 2014-05-08 16:55:55 +00:00
mvebu-soc-id.c ARM: SoC updates for 3.16 (part 1) 2014-06-02 16:15:12 -07:00
mvebu-soc-id.h ARM: mvebu: add Armada 375 A0 revision definition 2014-05-08 16:40:14 +00:00
platsmp-a9.c ARM: mvebu: conditionalize Armada 375 SMP workaround 2014-05-08 16:40:15 +00:00
platsmp.c ARM: mvebu: ensure CPU clocks are enabled 2014-07-16 12:58:30 +00:00
pmsu.c ARM: mvebu: register the cpuidle driver for the Armada XP SoCs 2014-05-08 16:19:03 +00:00
pmsu.h arm: mvebu: Add initial support for power managmement service unit 2012-11-21 16:49:36 +01:00
system-controller.c ARM: mvebu: add function to set the resume boot address for Armada 375 2014-05-08 16:08:14 +00:00