• MyungJoo Ham's avatar
    [CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders · 0073f538
    MyungJoo Ham authored
    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: default avatarMyungJoo Ham <myungjoo.ham@samsung.com>
    Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
    Signed-off-by: default avatarDave Jones <davej@redhat.com>
    0073f538
exynos4210-cpufreq.c 16.3 KB