diff options
author | Jone Chou <jonechou@google.com> | 2021-08-13 18:25:16 +0800 |
---|---|---|
committer | Jone Chou <jonechou@google.com> | 2021-08-19 14:22:27 +0800 |
commit | e795051a67dda71d88103449cd6997398ab7cd0a (patch) | |
tree | 065f24d3f7b27a8acae62a36542bcb6ed2ac3b84 | |
parent | 62f56dfee1a8ebe5915143596b69c4f923aaf511 (diff) | |
download | reset-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.c | 2 | ||||
-rw-r--r-- | exynos-gs201-reboot.c | 2 |
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"); |