diff options
author | Alec Berg <alecaberg@chromium.org> | 2013-10-29 09:28:10 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-02-12 20:07:06 +0000 |
commit | 655dfad2ecfd4538d8047e4e8905ae1bdcadab7d (patch) | |
tree | be0ff8eb1dfcde969a738897f65177ce05038b1d | |
parent | f95a1b6b75163c56b34d9eb93c61b8e532a1f154 (diff) | |
download | chrome-ec-655dfad2ecfd4538d8047e4e8905ae1bdcadab7d.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:25661
Original-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: Ibfe2208e8e33d008b407f080fd391b6c70b39b86
Original-Change-Id: I4d50282da0c5ba5b6488ed14a267a4d8cafe09a7
Signed-off-by: Alec Berg <alecaberg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/174943
Reviewed-on: https://chromium-review.googlesource.com/186016
Reviewed-by: Dave Parker <dparker@chromium.org>
Commit-Queue: 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 ba7564a41a..4acc03ace8 100644 --- a/common/chipset_haswell.c +++ b/common/chipset_haswell.c @@ -120,6 +120,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 { |