summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlec Berg <alecaberg@chromium.org>2013-10-29 09:28:10 -0700
committerDave Parker <dparker@chromium.org>2013-11-20 22:02:32 +0000
commit82bd75809c77045b5ac9a737aff43109861c9122 (patch)
treefdac29d0a080b4fba610e4b7fc7670bc5e719807
parentd8257697dbf23a80a3c3a70f012e7432689487ee (diff)
downloadchrome-ec-82bd75809c77045b5ac9a737aff43109861c9122.tar.gz
CHERRY-PICK: 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:24136 BRANCH=leon TEST=Execute a flashrom write and make sure the system does not use the low power code immediately after. Change-Id: I114d671ba1eb29e1aa9df7f11f4c520f5bb0d01a Origianl-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> Reviewed-on: https://chromium-review.googlesource.com/177347 Reviewed-by: Dave Parker <dparker@chromium.org> Tested-by: Dave Parker <dparker@chromium.org>
-rw-r--r--common/chipset_haswell.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/common/chipset_haswell.c b/common/chipset_haswell.c
index f768c2fa26..f112793231 100644
--- a/common/chipset_haswell.c
+++ b/common/chipset_haswell.c
@@ -127,6 +127,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 {