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 <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/22625
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Furquan Shaikh 2017-11-28 14:32:17 -08:00 committed by Furquan Shaikh
parent a9f72776bd
commit a3a84565af
1 changed files with 5 additions and 2 deletions

View File

@ -212,6 +212,7 @@ Device (EC0)
{ {
Store ("EC: LID OPEN", Debug) Store ("EC: LID OPEN", Debug)
Store (LIDS, \LIDS) Store (LIDS, \LIDS)
Notify (CREC, 0x2)
#ifdef EC_ENABLE_LID_SWITCH #ifdef EC_ENABLE_LID_SWITCH
Notify (LID0, 0x80) Notify (LID0, 0x80)
#endif #endif
@ -297,6 +298,7 @@ Device (EC0)
Method (_Q0D, 0, NotSerialized) Method (_Q0D, 0, NotSerialized)
{ {
Store ("EC: KEY PRESSED", Debug) Store ("EC: KEY PRESSED", Debug)
Notify (CREC, 0x2)
} }
// Thermal Shutdown Imminent // Thermal Shutdown Imminent
@ -354,17 +356,18 @@ Device (EC0)
Notify (CREC, 0x80) Notify (CREC, 0x80)
} }
#ifdef EC_ENABLE_TABLET_EVENT
// TABLET mode switch Event // TABLET mode switch Event
Method (_Q1D, 0, NotSerialized) Method (_Q1D, 0, NotSerialized)
{ {
Store ("EC: TABLET mode switch Event", Debug) Store ("EC: TABLET mode switch Event", Debug)
Notify (CREC, 0x2)
#ifdef EC_ENABLE_TABLET_EVENT
If (CondRefOf (\_SB.DPTF.TPET)) { If (CondRefOf (\_SB.DPTF.TPET)) {
\_SB.DPTF.TPET() \_SB.DPTF.TPET()
} }
Notify (TBMC, 0x80) Notify (TBMC, 0x80)
}
#endif #endif
}
/* /*
* Dynamic Platform Thermal Framework support * Dynamic Platform Thermal Framework support