summaryrefslogtreecommitdiff
path: root/power
diff options
context:
space:
mode:
authorRob Barnes <robbarnes@google.com>2021-04-22 17:12:21 -0600
committerCommit Bot <commit-bot@chromium.org>2021-04-27 23:31:43 +0000
commit56ec4df1a9df67bdda1915fe0e5be114e108fdc6 (patch)
treed05caee6bbf425b68328a60094100fdb8e27772b /power
parent73886cddb0eb255072848e2d071707976729be03 (diff)
downloadchrome-ec-56ec4df1a9df67bdda1915fe0e5be114e108fdc6.tar.gz
amd_x86: Check for S0ix before S3
Cezanne is asserting both SLP_S0 and SLP_S3 for S0ix. On Intel only SLP_S3 is asserted. Move check for S0ix before check for S0 so EC enters correct power state. BUG=b:186135411 TEST=EC reports S0ix power state BRANCH=None Signed-off-by: Rob Barnes <robbarnes@google.com> Change-Id: I47ede14e8031ba4d6a01399f2501801e597a6b1f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2847332 Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'power')
-rw-r--r--power/amd_x86.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/power/amd_x86.c b/power/amd_x86.c
index b4030d0594..5436c6c9e1 100644
--- a/power/amd_x86.c
+++ b/power/amd_x86.c
@@ -413,9 +413,6 @@ enum power_state power_handle_state(enum power_state state)
if (!power_has_signals(IN_S5_PGOOD)) {
/* Required rail went away */
return POWER_S5G3;
- } else if (gpio_get_level(GPIO_PCH_SLP_S3_L) == 0) {
- /* Power down to next state */
- return POWER_S0S3;
}
#ifdef CONFIG_POWER_S0IX
/*
@@ -430,6 +427,12 @@ enum power_state power_handle_state(enum power_state state)
gpio_get_level(GPIO_PCH_SLP_S0_L) == 0) {
return POWER_S0S0ix;
}
+#endif
+ else if (gpio_get_level(GPIO_PCH_SLP_S3_L) == 0) {
+ /* Power down to next state */
+ return POWER_S0S3;
+ }
+#ifdef CONFIG_POWER_S0IX
/*
* Call hooks only if we haven't notified listeners of S0ix
* resume.