Thread (24 messages) 24 messages, 2 authors, 2014-07-23

Re: [Update 2x][PATCH 1/2] ACPI / PM: Always enable wakeup GPEs when enabling device wakeup

From: Rafael J. Wysocki <hidden>
Date: 2014-07-22 00:44:12
Also in: linux-acpi, linux-pci, lkml

On Monday, July 21, 2014 10:17:34 AM Peter Zijlstra wrote:
On Mon, Jul 21, 2014 at 01:51:46AM +0200, Rafael J. Wysocki wrote:
quoted
From: Rafael J. Wysocki <redacted>
Subject: ACPI / PM: Always enable wakeup GPEs when enabling device wakeup

Wakeup GPEs are currently only enabled when setting up devices for
remote wakeup at run time.  During system-wide transitions they are
enabled by ACPICA at the very last stage of suspend (before asking
the BIOS to take over).  Of course, that only works for system
sleep states supported by ACPI, so in particular it doesn't work
for the "freeze" sleep state.

For this reason, modify the ACPI core device PM code to enable wakeup
GPEs for devices when setting them up for wakeup regardless of whether
that is remote wakeup at runtime or system wakeup.  That allows the
same device wakeup setup routine to be used for both runtime PM and
system-wide PM and makes it possible to reduce code size quite a bit.

That should make things like ACPI-based PCI Wake-on-LAN work with
the "freeze" sleep state among other things.

Tested-on: Toshiba Portege R500
Signed-off-by: Rafael J. Wysocki <redacted>
---

The PCI ACPI device PM notify handler has to be updated to avoid running
runtime resume callbacks during system suspend too.
So I tested the first version, with that my WSM-EP didn't resume on WoL
and pressing the power button after the WoL had it crash and burn in the
igb driver.

Today I tested this latest version and WoL still didn't trigger a
resume, but the power button did make it go again, no crashes and I
suppose I can confirm the earlier patch that stopped making it go halt
works.
OK, thanks!
When I 'halt' I can wake the machine back up using a WoL so that all
_should_ work afaik.
Yes, it should.

I'll send an updated patchset shortly, so please test that one.  If it
doesn't help, we'll need to dig deeper still.

Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help