diff options
author | Alec Berg <alecaberg@chromium.org> | 2013-10-29 09:28:10 -0700 |
---|---|---|
committer | Dave Parker <dparker@chromium.org> | 2013-11-20 22:02:32 +0000 |
commit | 82bd75809c77045b5ac9a737aff43109861c9122 (patch) | |
tree | fdac29d0a080b4fba610e4b7fc7670bc5e719807 | |
parent | d8257697dbf23a80a3c3a70f012e7432689487ee (diff) | |
download | chrome-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.c | 2 |
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 { |