ARM: exynos: Fix imprecise abort during Exynos5422 suspend to RAM
authorKrzysztof Kozlowski <krzk@kernel.org>
Tue, 24 Jul 2018 16:49:46 +0000 (18:49 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Thu, 30 Aug 2018 17:46:06 +0000 (19:46 +0200)
commite0b35c1ab5ac5f0453d1093770e119bd8d63d85c
tree172714124cdb99984c35b6b1d98a18cb27d06210
parent687b5ae2e6c6682a2b0bda3b31a884ed564f9194
ARM: exynos: Fix imprecise abort during Exynos5422 suspend to RAM

Suspend to RAM on Odroid XU3/XU4/HC1 family (Exynos5422) causes
imprecise abort:

PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.003 seconds) done.
OOM killer disabled.
Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done.
wake enabled for irq 139
Disabling non-boot CPUs ...
IRQ51 no longer affine to CPU1
IRQ52 no longer affine to CPU2
IRQ53 no longer affine to CPU3
IRQ54 no longer affine to CPU4
IRQ55 no longer affine to CPU5
IRQ56 no longer affine to CPU6
cpu cpu4: Dropping the link to regulator.40
IRQ57 no longer affine to CPU7
Unhandled fault: external abort on non-linefetch (0x1008) at 0xf081a028
Internal error: : 1008 [#1] PREEMPT SMP ARM

with last call trace in exynos_suspend_enter().

The abort is caused by writing to register in secure part of sysram.
Boards booted under secure firmware (e.g. Hardkernel Odroid boards)
should access non-secure sysram.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Documentation/arm/Samsung/Bootloader-interface.txt
arch/arm/mach-exynos/common.h
arch/arm/mach-exynos/firmware.c
arch/arm/mach-exynos/suspend.c