• Bartlomiej Zolnierkiewicz's avatar
    cpuidle: exynos: add coupled cpuidle support for exynos4210 · 712eddf7
    Bartlomiej Zolnierkiewicz authored
    The following patch adds coupled cpuidle support for Exynos4210 to
    an existing cpuidle-exynos driver.  As a result it enables AFTR mode
    to be used by default on Exynos4210 without the need to hot unplug
    CPU1 first.
    The patch is heavily based on earlier cpuidle-exynos4210 driver from
    Daniel Lezcano:
    Changes from Daniel's code include:
    - porting code to current kernels
    - fixing it to work on my setup (by using S5P_INFORM register
      instead of S5P_VA_SYSRAM one on Revison 1.1 and retrying poking
      CPU1 out of the BOOT ROM if necessary)
    - fixing rare lockup caused by waiting for CPU1 to get stuck in
      the BOOT ROM (CPU hotplug code in arch/arm/mach-exynos/platsmp.c
      doesn't require this and works fine)
    - moving Exynos specific code to arch/arm/mach-exynos/pm.c
    - using cpu_boot_reg_base() helper instead of BOOT_VECTOR macro
    - using exynos_cpu_*() helpers instead of accessing registers
    - using arch_send_wakeup_ipi_mask() instead of dsb_sev()
      (this matches CPU hotplug code in arch/arm/mach-exynos/platsmp.c)
    - integrating separate exynos4210-cpuidle driver into existing
      exynos-cpuidle one
    Cc: Colin Cross <ccross@google.com>
    Cc: Kukjin Kim <kgene.kim@samsung.com>
    Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
    Cc: Tomasz Figa <tomasz.figa@gmail.com>
    Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
    Signed-off-by: default avatarKukjin Kim <kgene@kernel.org>
cpuidle-exynos.h 507 Bytes