summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlec Berg <alecaberg@chromium.org>2013-10-29 09:28:10 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2013-10-29 19:14:55 +0000
commit7e78087a91ff5c00a695ee769edd20fb62c04bc9 (patch)
tree751428d05c9de2a04fecb4f52fa5df6ff365a713
parentfea89f9cd9257ccddb5756d619568d492a8efd4a (diff)
downloadchrome-ec-7e78087a91ff5c00a695ee769edd20fb62c04bc9.tar.gz
lm4: Fixes low power bug after a sysjump
This fixes a bug in which after a sysjump, the sleep_mask is reset, and the EC is allowed to go into a low power mode even though the AP is still running. This causes numerous problems, must notable of which is that a flashrom write fails with an EC protocol mismatch error. BUG=chrome-os-partner:23645 BRANCH=none TEST=Execute a flashrom write and make sure the system does not use the low power code immediately after. Change-Id: I4d50282da0c5ba5b6488ed14a267a4d8cafe09a7 Signed-off-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/174943 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--power/haswell.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/power/haswell.c b/power/haswell.c
index 95823ae418..4bc83c5ff6 100644
--- a/power/haswell.c
+++ b/power/haswell.c
@@ -129,6 +129,8 @@ enum x86_state x86_chipset_init(void)
*/
if (system_jumped_to_this_image()) {
if ((x86_get_signals() & IN_ALL_S0) == IN_ALL_S0) {
+ /* Disable idle task deep sleep when in S0. */
+ disable_sleep(SLEEP_MASK_AP_RUN);
CPRINTF("[%T x86 already in S0]\n");
return X86_S0;
} else {