]> git.karo-electronics.de Git - karo-tx-linux.git/commit
[CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 18 Aug 2011 10:45:16 +0000 (19:45 +0900)
committerDave Jones <davej@redhat.com>
Mon, 29 Aug 2011 16:32:56 +0000 (12:32 -0400)
commit5aace5819034c0156adec9f9d3883b3b6d296612
treee84ce5fb2e4aad2c3e90ea0b517d75ce27f7047e
parentf4e78a2d9fde8ea56303bd06076911b63fd27e68
[CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders

We have various bootloaders for Exynos4210 machines. Some of they
set the ARM core frequency at boot time even when the boot is a resume
from suspend-to-RAM. Such changes may create inconsistency in the
data of CPUFREQ driver and have incurred hang issues with suspend-to-RAM.

This patch enables to save and restore CPU frequencies with pm-notifier and
sets the frequency at the initial (boot-time) value so that there wouldn't
be any inconsistency between bootloader and kernel. This patch does not
use CPUFREQ's suspend/resume callbacks because they are syscore-ops, which
do not allow to use mutex that is being used by regulators that are used by
the target function.

This also prevents any CPUFREQ transitions during suspend-resume context,
which could be dangerous at noirq-context along with regulator framework.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dave Jones <davej@redhat.com>
drivers/cpufreq/exynos4210-cpufreq.c