2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-16 09:34:22 +08:00
linux-next/arch/arm/mach-exynos
Krzysztof Kozlowski 6f024978e7 ARM: EXYNOS: Fix failed second suspend on Exynos4
On Exynos4412 boards (Trats2, Odroid U3) after enabling L2 cache in
56b60b8bce ("ARM: 8265/1: dts: exynos4: Add nodes for L2 cache
controller") the second suspend to RAM failed. First suspend worked fine
but the next one hang just after powering down of secondary CPUs (system
consumed energy as it would be running but was not responsive).

The issue was caused by enabling delayed reset assertion for CPU0 just
after issuing power down of cores. This was introduced for Exynos4 in
13cfa6c4f7 ("ARM: EXYNOS: Fix CPU idle clock down after CPU off").

The whole behavior is not well documented but after checking with vendor
code this should be done like this (on Exynos4):
1. Enable delayed reset assertion when system is running (for all CPUs).
2. Disable delayed reset assertion before suspending the system.
   This can be done after powering off secondary CPUs.
3. Re-enable the delayed reset assertion when system is resumed.

Fixes: 13cfa6c4f7 ("ARM: EXYNOS: Fix CPU idle clock down after CPU off")
Cc: <stable@vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-05-14 11:32:18 +09:00
..
include/mach ARM: SAMSUNG: remove unused DMA infrastructure 2015-01-24 13:09:54 +09:00
common.h ARM: EXYNOS: Fix failed second suspend on Exynos4 2015-05-14 11:32:18 +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 ARM: EXYNOS: Fix failed second suspend on Exynos4 2015-05-14 11:32:18 +09:00
firmware.c ARM: EXYNOS: add AFTR mode support for Exynos3250 2015-03-27 02:35:48 +09:00
headsmp.S ARM: EXYNOS: Remove file path from comment section 2014-07-15 08:40:32 +09:00
Kconfig arm-cci: Split the code for PMU vs driver support 2015-03-27 13:44:43 +00: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: migrate DCSCB to the new MCPM backend abstraction 2015-04-03 12:52:49 -07:00
mfc.h ARM: SAMSUNG: Reorganize calls to reserve memory for MFC 2014-03-21 02:00:09 +09:00
platsmp.c ARM: EXYNOS: Fix failed second suspend on Exynos4 2015-05-14 11:32:18 +09:00
pm_domains.c ARM: EXYNOS: Fix dereference of ERR_PTR returned by of_genpd_get_from_provider 2015-05-13 17:45:52 +09:00
pm.c ARM: SoC platform updates for v4.1 2015-04-22 09:08:39 -07: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 AFTR mode support for Exynos3250 2015-03-27 02:35:48 +09:00
sleep.S ARM: 8325/1: exynos: move resume code to .text section 2015-03-29 23:11:57 +01:00
smc.h ARM: EXYNOS: add AFTR mode support for Exynos3250 2015-03-27 02:35:48 +09:00
suspend.c ARM: EXYNOS: Fix failed second suspend on Exynos4 2015-05-14 11:32:18 +09:00