Re: Attempted summary of suspend-blockers LKML thread

From: david
Date: Fri Aug 06 2010 - 04:09:24 EST


On Thu, 5 Aug 2010, Brian Swetland wrote:

On Thu, Aug 5, 2010 at 6:01 PM, <david@xxxxxxx> wrote:
On Thu, 5 Aug 2010, Brian Swetland wrote:
On Thu, Aug 5, 2010 at 5:16 PM, Â<david@xxxxxxx> wrote:

So for an mp3 playback, does an Android suspend between data fetches?

It can if the latency is long enough (which is why I point out low
power audio which is usually high latency). ÂFor low latency (system
sounds, etc) 10-25ms between buffers it's not practical to fully
suspend but we will go to the lowest power state in idle if possible.

the playback is able to continue even with all the clocks stopped? that
surprises me. I would hav expected it to be able to sleep while playing
audio, but not do a full suspend.

Obviously not all clocks are stopped (the DSP and codec are powered
and clocked, for example), but yeah we can clock gate and power gate
the cpu and most other peripherals while audio is playing on a number
of ARM SoC designs available today (and the past few years).

does this then mean that you have multiple variations of suspend?

for example, one where the audio stuff is left powered, and one where it
isn't?

While the cpu (and the bulk of the system) is suspended, it's not
uncommon for some peripherals to continue to operate -- for example a
cellular radio, gps, low power audio playback, etc. Details will vary
depending on the SoC and board design. It's not so much a different
suspend mode (the system is still suspended), just a matter of whether
a peripheral can operate independently (and if it is lower power for
it to do so).

this helps, but isn't quite what I was trying to ask.

on a given piece of hardware, does suspend always leave the same peripherals on, or do you sometimes power more things down than other times when suspending?

David Lang