ACPI: EC: Dispatch the EC GPE directly on s2idle wake
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 16 May 2018 12:13:21 +0000 (14:13 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 25 May 2018 08:32:13 +0000 (10:32 +0200)
commit68e22011856f036bd9b0328b9b62d953e668a7ae
tree7711f1589d84b04061aa397e0c6c5c6fab266965
parent745364533e40ec76f7822275d491f5196362e016
ACPI: EC: Dispatch the EC GPE directly on s2idle wake

On platforms where the Low Power S0 Idle _DSM interface is used,
on wakeup from suspend-to-idle, when it is known that the ACPI SCI
has triggered while suspended, dispatch the EC GPE in order to catch
all EC events that may have triggered the wakeup before carrying out
the noirq phase of device resume.

That is needed to handle power button wakeup on some platforms where
the EC goes into a low-power mode during suspend-to-idle and while in
that mode it will discard events after a timeout.  If that timeout is
shorter than the time it takes to complete the noirq resume of
devices, looking for EC events after the latter is too late.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reported-by: Zhang Rui <rui.zhang@intel.com>
Tested-by: Wendy Wang <wendy.wang@intel.com>
drivers/acpi/ec.c
drivers/acpi/internal.h
drivers/acpi/sleep.c