Messages in this thread | | | Date | Thu, 7 May 2015 17:54:56 +0100 | From | One Thousand Gnomes <> | Subject | Re: A desktop environment[1] kernel wishlist |
| |
On Tue, 05 May 2015 14:31:26 +0200
> For example, when you wake up from S3 on ACPI-based systems, the best you > can get is what devices have generated the wakeup events, but there's > no input available from that (like you won't know which key has been > pressed). You may not get that even. You may only know what GPEs have > caused the wakeup to happen and they may be shared. > > For PCI wakeup, the wakeup event may be out of band. You need to walk > the hierarchy and check the PME status bits to identify the wakeup device > and then you need to be careful enough not to reset it while putting into > D0 for the input data associated with the event to be available. I'm not > sure how many device/driver combinations this actually works for. > > For USB wakeup, you get the wakeup event from the controller which may be > a PCI device. Getting to the USB device itself from there requires some > work and even then the device may not "remember" what exactly happened. > > Further, if you wake up via the PC keyboard from suspend-to-idle, the > wakeup key code is not available, the only thing you know is that the > interrupts has occured (that may be changed, but it's how the current > code works).
It's probably got to change, otherwise once machines get able to sleep between keypresses it's going to suck every time you pause and think for a minute then begin typing. Remember display being off for suspend is purely a limitation of most current display panels.
Alan
| |