summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJone Chou <jonechou@google.com>2021-08-13 18:25:16 +0800
committerJone Chou <jonechou@google.com>2021-08-19 14:22:27 +0800
commite795051a67dda71d88103449cd6997398ab7cd0a (patch)
tree065f24d3f7b27a8acae62a36542bcb6ed2ac3b84
parent62f56dfee1a8ebe5915143596b69c4f923aaf511 (diff)
downloadreset-e795051a67dda71d88103449cd6997398ab7cd0a.tar.gz
power: reset: support emergency_restart swreset
If panic or emergency_restart use warm reboot by swreset else use cold reboot by PS_HOLD note: panic is also one of emergency_restart cases Bug: 196236629 Signed-off-by: Jone Chou <jonechou@google.com> Change-Id: I0b7cb5dac31e081d7f784d4da2af59c876612cfe
-rw-r--r--exynos-gs101-reboot.c2
-rw-r--r--exynos-gs201-reboot.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/exynos-gs101-reboot.c b/exynos-gs101-reboot.c
index 068ebc2..91be306 100644
--- a/exynos-gs101-reboot.c
+++ b/exynos-gs101-reboot.c
@@ -203,7 +203,7 @@ static int exynos_restart_handler(struct notifier_block *this, unsigned long mod
if (s2mpg10_get_rev_id() == S2MPG10_EVT0 ||
!rsbm_supported ||
- dbg_snapshot_get_panic_status()) {
+ !dbg_snapshot_get_reboot_status()) {
ret = set_priv_reg(pmu_alive_base + warm_reboot_offset, warm_reboot_trigger);
/* TODO: this is a temporary workaround. must remove. see b/169128860 */
diff --git a/exynos-gs201-reboot.c b/exynos-gs201-reboot.c
index 0e46aa9..5c0f044 100644
--- a/exynos-gs201-reboot.c
+++ b/exynos-gs201-reboot.c
@@ -163,7 +163,7 @@ static int exynos_restart_handler(struct notifier_block *this, unsigned long mod
/* Do S/W Reset */
pr_emerg("%s: Exynos SoC reset right now\n", __func__);
- if (dbg_snapshot_get_panic_status()) {
+ if (!dbg_snapshot_get_reboot_status()) {
set_priv_reg(pmu_alive_base + warm_reboot_offset, warm_reboot_trigger);
} else {
pr_emerg("Set PS_HOLD Low.\n");