[coreboot-gerrit] New patch to review for coreboot: 9385a44 broadwell: Clear pending GPE events before entering sleep state

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Thu Apr 2 00:00:33 CEST 2015


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9231

-gerrit

commit 9385a447629f73f261bd08e43779a7bfc96b8799
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Sat Oct 25 01:49:32 2014 -0700

    broadwell: Clear pending GPE events before entering sleep state
    
    In the case of an EC wake event that is pending but not cleared
    it is possible for the EC wake pin (i.e. GPIO27) to be asserted
    after the kernel triggers the sleep SMI but before the system
    goes to sleep.
    
    If this happens then the GPE will be reported as a wake source
    when the system wakes up again.
    
    BUG=chrome-os-partner:33218
    BRANCH=samus,auron
    TEST=build and boot on samus, use the keyboard to enter suspend
    with suspend_stress_test and ensure that only the RTC is listed
    as a wake source upon resume.
    
    Change-Id: Id900132bb81e4cf50885a652ed00a142d951ea4d
    Signed-off-by: Stefan Reinauer <reinauer at chromium.org>
    Original-Commit-Id: 50396ab6a3a3efb3b3dea4f1c2a8f8804fed943e
    Original-Change-Id: I319dc22e21126a3086415f8f8b2b35eaec66fd50
    Original-Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/225540
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/soc/intel/broadwell/smihandler.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/soc/intel/broadwell/smihandler.c b/src/soc/intel/broadwell/smihandler.c
index 064a9dc..e1f7e5b 100644
--- a/src/soc/intel/broadwell/smihandler.c
+++ b/src/soc/intel/broadwell/smihandler.c
@@ -145,6 +145,9 @@ static void southbridge_smi_sleep(void)
 		elog_add_event_byte(ELOG_TYPE_ACPI_ENTER, slp_typ-2);
 #endif
 
+	/* Clear pending GPE events */
+	clear_gpe_status();
+
 	/* Next, do the deed.
 	 */
 



More information about the coreboot-gerrit mailing list