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>2014-02-12 20:07:06 +0000
commit655dfad2ecfd4538d8047e4e8905ae1bdcadab7d (patch)
treebe0ff8eb1dfcde969a738897f65177ce05038b1d
parentf95a1b6b75163c56b34d9eb93c61b8e532a1f154 (diff)
downloadchrome-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.c2
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 {