kernel_optimize_test/arch/arm/mach-exynos
Bartlomiej Zolnierkiewicz 712eddf702 cpuidle: exynos: add coupled cpuidle support for exynos4210
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:

http://www.spinics.net/lists/linux-samsung-soc/msg28134.html

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
  directly
- 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: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-01-30 08:39:15 +09:00
..
include/mach ARM: EXYNOS: Remove unused static iomapping 2014-11-13 11:42:59 +09:00
common.h cpuidle: exynos: add coupled cpuidle support for exynos4210 2015-01-30 08:39:15 +09:00
exynos-pmu.h ARM: EXYNOS: Move PMU specific definitions from common.h 2014-11-21 22:49:44 +09:00
exynos-smc.S ARM: EXYNOS: Add support for secure monitor calls 2013-04-09 01:52:06 +09:00
exynos.c cpuidle: exynos: add coupled cpuidle support for exynos4210 2015-01-30 08:39:15 +09:00
firmware.c ARM: EXYNOS: Fix build with ARM_CPU_SUSPEND=n 2014-10-28 08:10:21 +09:00
headsmp.S ARM: EXYNOS: Remove file path from comment section 2014-07-15 08:40:32 +09:00
Kconfig More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
Makefile Merge branch 'v3.19-next/cleanup-samsung' into v3.19-next/mach-exynos 2014-11-21 21:40:23 +09:00
Makefile.boot ARM: dts: Add basic dts file for Samsung Trats board 2012-09-21 10:50:27 +09:00
mcpm-exynos.c ARM: EXYNOS: Use MCPM call-backs to support S2R on exynos5420 2014-11-21 22:49:46 +09:00
mfc.h ARM: SAMSUNG: Reorganize calls to reserve memory for MFC 2014-03-21 02:00:09 +09:00
platsmp.c cpuidle: exynos: add coupled cpuidle support for exynos4210 2015-01-30 08:39:15 +09:00
pm_domains.c ARM: exynos: Move to generic PM domain DT bindings 2014-09-22 15:57:40 +02:00
pm.c cpuidle: exynos: add coupled cpuidle support for exynos4210 2015-01-30 08:39:15 +09:00
pmu.c ARM: EXYNOS: use u8 for val[] in struct exynos_pmu_conf 2014-11-27 02:47:05 +09:00
regs-pmu.h ARM: EXYNOS: add exynos3250 PMU support 2014-11-22 23:03:40 +09:00
regs-sys.h ARM: EXYNOS: Move SYSREG definition into sys-reg specific file 2014-07-15 08:40:31 +09:00
sleep.S ARM: EXYNOS: Add support for firmware-assisted suspend/resume 2014-10-21 00:06:35 +09:00
smc.h ARM: EXYNOS: Add support for firmware-assisted suspend/resume 2014-10-21 00:06:35 +09:00
suspend.c ARM: EXYNOS: apply S5P_CENTRAL_SEQ_OPTION fix only when necessary 2015-01-30 08:38:52 +09:00