Runtime GPEs not saved over suspend/resume if type != "platform"
Hi,
There is a problem with swsuspend and GPE events.
Now they are restored from acpi_pm_finish(), which is called only if we suspend with "platform" option, what means that if we suspended to disk
with the default "shutdown" option after resume all the GPEs will be disabled. This presents us with the overheating problem after resume at very least.
I see two solutions: one is to make "platform" to be default option if ACPI is enabled, and second -- enable GPE events from some other function, which will be called in any case.
What do you think?
Regards,
Alex.
Hi,
Quoted 11 lines · Alexey Starikovskiy
Hi,
There is a problem with swsuspend and GPE events.
Now they are restored fromacpi_pm_finish(), which is called only if we suspend with "platform" option, what means that if we suspended to disk
with the default "shutdown" option after resume all the GPEs will be disabled. This presents us with the overheating problem after resume at very least.
I see two solutions: one is to make "platform" to be default option if ACPI is enabled, and second -- enable GPE events from some other function, which will be called in any case.What do you think?
Obviously we can "fix" that in the short run by causing "platform" to be the default. Still, I think swsusp should work regardless of whether "platform" or "shutdown" is used.
Greetings,
Rafael
Signature · 2 lines
You never change things by fighting the existing reality. R. Buckminster Fuller
Quoted 10 lines · Alexey Starikovskiy
Hi,
There is a problem with swsuspend and GPE events.
Now they are restored fromacpi_pm_finish(), which is called only if we suspend with "platform" option, what means that if we suspended to disk with the default "shutdown" option after resume all the GPEs will be disabled. This presents us with the overheating problem after resume at very least.I see two solutions: one is to make "platform" to be default option if ACPI is enabled, and second -- enable GPE events from some other function, which will be called in any case.
We need to do both.
"platform" needs to be the default on ACPI-enabled platforms because when "shutdown" is used, wakeup devices that function from S4 but fail to function from S5 are unavailable.
Further, if somebody chooses to use "shutdown", certainly GPEs need to work when they resume.
-Len
Hi!
Quoted 9 lines
Quoted 8 lines
There is a problem with swsuspend and GPE events.
Now they are restored fromacpi_pm_finish(), which is called only if we suspend with "platform" option, what means that if we suspended to disk with the default "shutdown" option after resume all the GPEs will be disabled. This presents us with the overheating problem after resume at very least.I see two solutions: one is to make "platform" to be default option if ACPI is enabled, and second -- enable GPE events from some other function, which will be called in any case.
Quoted 8 lines
We need to do both.
"platform" needs to be the default on ACPI-enabled platforms because when "shutdown" is used, wakeup devices that function from S4 but fail to function from S5 are unavailable.
Further, if somebody chooses to use "shutdown", certainly GPEs need to work when they resume.
Agreed. And rafael's patch is good step forward (in making "platform" default). Time to push it to akpm?
Pavel
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html