backlight device, suspend/resume... / Suspend during calls

Andy Green andy at
Wed Jul 9 14:48:14 CEST 2008

Hash: SHA1

Somebody in the thread at some point said:

| it's to solve a simple problem:
| 1. qpe is in the middle of a phone call
| 2. e/illume dont know or care about this
| 3. screenblank kicks in during call
| 4. system suspends.. during call.
| now user can't hang up - no screen to interact with until they come out of
| suspend. also audio and all sorts of gsm stuff gets broken if this
happens, so
| simply - we can't go suspending during calls. there would be other
times we
| can't suspend (eg during the time a voip client is active and
| calls or just waiting for incoming calls, etc. etc.), so there needs
to be a
| way to say "hey - block suspends for now until i say otherwise".

That blocking "veto" is a simple but fairly reliable way to come at it
(although it might need some musing if the app crashes).  If you held
open some magic dev node or somesuch while you wanted to stay up, that
would be reaped cleanly on app exit by crash or exit.

But on the other issues, we discussed before a weaker "suspend", for the
"zero clock" method any interrupt will bring back the CPU.  So GSM
should be OK with such a thing, the touchscreen can wake (there is a
"stylus down" interrupt that happens).  WLAN on listening socket wake is
allegedly somehow supported by the module firmware.  So maybe that can
fit in there somehow.

Audio should not break on suspend.  PCM audio is woke via ALSA in a
controlled way and I tested suspend and resume during live stream is OK.
~ If it is because the audio driver puts the chip to sleep on suspend and
the analogue path is broken then, I don't know we can detect that the
analogue path we use is in use from the audio driver side.  If we can
detect that because we only bring up that path during a call, we can fix
this behaviour easily.  If not, it is another candidate for your veto
signal(s) to be visible to the kernel so it can adapt which devices are
put to sleep in suspend.

Strong powersaving during call is just something it would be nice to add
back to GTA02, but for any new designs it would be really good to have
an answer for any problems.

- -Andy
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora -


More information about the openmoko-kernel mailing list