From a3a84565afef26f918d4ff2d80e0201be671c0b9 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Tue, 28 Nov 2017 14:32:17 -0800 Subject: [PATCH] chromeec: Notify CREC device of wakeup events Whenever there is a new EC event that could be wake-capable, notify CREC device of this using notification value 0x2 i.e. device wake. This allows Linux kernel to track active_count value correctly for CREC device. BUG=b:69118395 BRANCH=None TEST=Verified on Soraka: 1. Put device into suspend 2. Wake up using mode change/lid open 3. Check that the active_count for GOOG0004 has increased (cat wakeup_sources | grep GOOG0004) Change-Id: I723f7f4e4c99e7a5b57c6296da66cf30cd413c27 Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/22625 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel --- src/ec/google/chromeec/acpi/ec.asl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ec/google/chromeec/acpi/ec.asl b/src/ec/google/chromeec/acpi/ec.asl index 0d05110262..d295a8d580 100644 --- a/src/ec/google/chromeec/acpi/ec.asl +++ b/src/ec/google/chromeec/acpi/ec.asl @@ -212,6 +212,7 @@ Device (EC0) { Store ("EC: LID OPEN", Debug) Store (LIDS, \LIDS) + Notify (CREC, 0x2) #ifdef EC_ENABLE_LID_SWITCH Notify (LID0, 0x80) #endif @@ -297,6 +298,7 @@ Device (EC0) Method (_Q0D, 0, NotSerialized) { Store ("EC: KEY PRESSED", Debug) + Notify (CREC, 0x2) } // Thermal Shutdown Imminent @@ -354,17 +356,18 @@ Device (EC0) Notify (CREC, 0x80) } -#ifdef EC_ENABLE_TABLET_EVENT // TABLET mode switch Event Method (_Q1D, 0, NotSerialized) { Store ("EC: TABLET mode switch Event", Debug) + Notify (CREC, 0x2) +#ifdef EC_ENABLE_TABLET_EVENT If (CondRefOf (\_SB.DPTF.TPET)) { \_SB.DPTF.TPET() } Notify (TBMC, 0x80) - } #endif + } /* * Dynamic Platform Thermal Framework support