From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Brian Swetland <swetland@google.com>
Cc: "Theodore Tso" <tytso@mit.edu>,
"Arve Hjønnevåg" <arve@android.com>,
"Alan Stern" <stern@rowland.harvard.edu>,
"Matthew Garrett" <mjg@redhat.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
"Kevin Hilman" <khilman@deeprootsystems.com>,
linux-pm@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, "Tejun Heo" <tj@kernel.org>,
"Oleg Nesterov" <oleg@redhat.com>,
"Paul Walmsley" <paul@pwsan.com>,
magnus.damm@gmail.com, "mark gross" <mgross@linux.intel.com>,
"Arjan van de Ven" <arjan@infradead.org>,
"Geoff Smith" <geoffx.smith@intel.com>,
rebecca@android.com
Subject: Re: [PATCH 0/8] Suspend block api (version 6)
Date: Fri, 7 May 2010 14:30:25 +0100 [thread overview]
Message-ID: <20100507133025.GA23983@rakim.wolfsonmicro.main> (raw)
In-Reply-To: <z2wa55d774e1005070537k8e3cb6baxc74e998e930d254d@mail.gmail.com>
On Fri, May 07, 2010 at 05:37:21AM -0700, Brian Swetland wrote:
> On Fri, May 7, 2010 at 5:25 AM, Mark Brown
> > It's unfortunate that I only noticed that this was actually wakelocks
> > very late in the day but I think I can get an implementation which
> > handles paths that ignore suspends done quickly.
> Do you mean an implementation of embedded linux audio or an
> implementation of suspend blockers "which handles paths that ignore
> suspends"? I assume you mean the former, but maybe I misunderstand.
I mean that I will extend the embedded audio subsystem that the kernel
already has (ASoC, in sound/soc) to support ignoring suspends for some
audio paths so that they can be kept up during suspend. This will be
primarily intended for use with opportunistic suspend but not specific
to it.
I have no intention of touching suspend blockers, except in that some of
the drivers I'm responsible for should probably use suspend blockers for
similar reasons to the other users you're merging but that's less urgent.
> We've done a lot of work around multicore SoCs where the baseband
> generally owns a lot of the audio routing and so on,
Multicore isn't really the term here - obviously on something like the
OMAP4 or the current nVidia devices you've got a multicore AP but may or
may not have an integrated baseband. The distinction is down to how
much visibility the AP has of the audio hardware, which is in general
orthogonal to how the silicon is split and packaged.
> but we do as
> general policy not disable audio, codecs, and amps while playback or
> record is underway.
Yeah, I know. I have been keeping an eye on the Android stuff, though
none of the audio side has been mainlined yet.
> I suppose for environments more like a pc laptop
> where the expectation is the world stops when you close the lid a
> different policy would be preferable.
Yes, quite. It all depends on what the intention of the user is when
they do a suspend. Clearly if the suspend was initiated automatically
because the system is apparently idle the intention is different to if
it was initiated because the user performed some explicit action.
> We typically fire up codecs and amps when playback starts (if they
> were off), and usually set a timer for a couple seconds after playback
> stops to spin them down (since you tend to have to delay while they're
> powering up to avoid pops, etc, and if the system just played a short
> sound there's a reasonable chance it'll follow that with another).
This is exactly what ASoC does - the two biggest wins it offers are that
it allows reuse of the code specific to a given piece of silicon on all
boards using that silicon and that it provides automatic runtime power
management in the core by keeping track of which audio paths are live.
There is the slight wrinkle that you don't really want to *fully* power
down devices that don't have ground referenced outputs since they take
a relatively long time to bring their reference level up without audible
artifacts in the output.
next prev parent reply other threads:[~2010-05-07 13:30 UTC|newest]
Thread overview: 324+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-30 22:36 [PATCH 0/8] Suspend block api (version 6) Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 4/8] PM: suspend_block: Add debugfs file Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 5/8] PM: suspend_block: Add suspend_blocker stats Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 6/8] PM: Add suspend blocking work Arve Hjønnevåg
2010-04-30 22:37 ` [PATCH 7/8] Input: Block suspend while event queue is not empty Arve Hjønnevåg
2010-04-30 22:37 ` [PATCH 8/8] power_supply: Block suspend while power supply change notifications are pending Arve Hjønnevåg
2010-05-01 6:14 ` [PATCH 6/8] PM: Add suspend blocking work Tejun Heo
2010-05-02 7:05 ` Pavel Machek
2010-05-04 11:16 ` [PATCH 4/8] PM: suspend_block: Add debugfs file Andi Kleen
2010-05-04 21:06 ` Arve Hjønnevåg
2010-05-02 6:57 ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Pavel Machek
2010-05-02 7:04 ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Pavel Machek
2010-05-02 21:23 ` Rafael J. Wysocki
2010-05-02 21:56 ` Alan Stern
2010-05-03 15:03 ` Rafael J. Wysocki
2010-05-03 21:26 ` Arve Hjønnevåg
2010-05-03 21:49 ` Rafael J. Wysocki
2010-05-03 22:01 ` Arve Hjønnevåg
2010-05-04 20:02 ` Rafael J. Wysocki
2010-05-04 4:16 ` Pavel Machek
2010-05-02 6:56 ` [PATCH 1/8] PM: Add suspend block api Pavel Machek
2010-05-02 20:10 ` Rafael J. Wysocki
2010-05-02 20:52 ` Pavel Machek
2010-05-02 21:29 ` Rafael J. Wysocki
2010-05-03 19:01 ` Pavel Machek
2010-05-03 21:38 ` Rafael J. Wysocki
2010-05-03 22:11 ` Alan Stern
2010-05-03 22:24 ` Arve Hjønnevåg
2010-05-02 7:01 ` Pavel Machek
2010-05-04 5:12 ` [linux-pm] " mark gross
2010-05-04 13:59 ` Alan Stern
2010-05-04 16:03 ` mark gross
2010-05-04 17:16 ` Alan Stern
2010-05-05 1:50 ` mark gross
2010-05-05 13:31 ` Matthew Garrett
2010-05-05 20:09 ` mark gross
2010-05-05 20:21 ` Matthew Garrett
2010-05-05 15:44 ` Alan Stern
2010-05-05 20:28 ` mark gross
2010-05-05 21:12 ` Alan Stern
2010-05-05 21:37 ` Brian Swetland
2010-05-05 23:47 ` Tony Lindgren
2010-05-05 23:56 ` Brian Swetland
2010-05-06 0:05 ` Tony Lindgren
2010-05-06 4:16 ` Arve Hjønnevåg
2010-05-06 17:04 ` Tony Lindgren
2010-05-07 0:10 ` Arve Hjønnevåg
2010-05-07 15:54 ` Tony Lindgren
2010-05-28 6:43 ` Pavel Machek
2010-05-28 7:01 ` Arve Hjønnevåg
2010-05-06 13:40 ` Matthew Garrett
2010-05-06 17:01 ` Tony Lindgren
2010-05-06 17:09 ` Matthew Garrett
2010-05-06 17:14 ` Tony Lindgren
2010-05-06 17:22 ` Matthew Garrett
2010-05-06 17:38 ` Tony Lindgren
2010-05-06 17:43 ` Matthew Garrett
2010-05-06 18:33 ` Tony Lindgren
2010-05-06 18:44 ` Matthew Garrett
2010-05-07 2:05 ` Tony Lindgren
2010-05-07 17:12 ` Matthew Garrett
2010-05-07 17:35 ` Tony Lindgren
2010-05-07 17:50 ` Matthew Garrett
2010-05-07 18:01 ` Tony Lindgren
2010-05-07 18:28 ` Matthew Garrett
2010-05-07 18:43 ` Tony Lindgren
2010-05-07 18:46 ` Matthew Garrett
2010-05-07 19:06 ` Daniel Walker
2010-05-07 19:28 ` Tony Lindgren
2010-05-07 19:33 ` Matthew Garrett
2010-05-07 19:55 ` Tony Lindgren
2010-05-07 20:28 ` Matthew Garrett
2010-05-07 20:53 ` Tony Lindgren
2010-05-07 21:03 ` Matthew Garrett
2010-05-07 21:25 ` Tony Lindgren
2010-05-07 21:32 ` Arve Hjønnevåg
2010-05-07 21:39 ` Matthew Garrett
2010-05-07 21:42 ` Tony Lindgren
2010-05-07 21:48 ` Matthew Garrett
2010-05-07 22:00 ` Tony Lindgren
2010-05-07 22:28 ` Matthew Garrett
2010-05-07 21:30 ` Daniel Walker
2010-05-07 21:35 ` Arve Hjønnevåg
2010-05-07 21:43 ` Daniel Walker
2010-05-07 21:38 ` Matthew Garrett
2010-05-06 18:47 ` Alan Stern
2010-05-07 2:20 ` Tony Lindgren
2010-05-28 13:29 ` Pavel Machek
2010-05-28 13:42 ` Brian Swetland
2010-05-06 17:35 ` Daniel Walker
2010-05-06 18:36 ` Tony Lindgren
2010-05-06 19:11 ` Daniel Walker
2010-05-07 2:00 ` Tony Lindgren
2010-05-07 17:20 ` Daniel Walker
2010-05-07 17:36 ` Matthew Garrett
2010-05-07 17:40 ` Daniel Walker
2010-05-07 17:51 ` Matthew Garrett
2010-05-07 18:00 ` Daniel Walker
2010-05-07 18:17 ` Tony Lindgren
2010-05-07 17:50 ` Tony Lindgren
2010-05-07 3:45 ` mgross
2010-05-07 3:45 ` mgross
2010-05-07 4:10 ` Arve Hjønnevåg
2010-05-04 20:40 ` Arve Hjønnevåg
2010-05-03 16:40 ` [PATCH 0/8] Suspend block api (version 6) Kevin Hilman
2010-05-03 17:12 ` Alan Stern
2010-05-03 18:17 ` Kevin Hilman
2010-05-03 18:07 ` Mark Brown
2010-05-03 21:18 ` Rafael J. Wysocki
2010-05-03 23:37 ` Kevin Hilman
2010-05-04 0:09 ` Arve Hjønnevåg
2010-05-04 0:43 ` Brian Swetland
2010-05-04 13:59 ` Mark Brown
2010-05-04 18:06 ` Kevin Hilman
2010-05-04 19:06 ` Mark Brown
2010-05-04 20:37 ` Rafael J. Wysocki
2010-05-04 23:14 ` Kevin Hilman
2010-05-04 23:42 ` Rafael J. Wysocki
2010-05-04 20:23 ` Rafael J. Wysocki
2010-05-04 20:44 ` Rafael J. Wysocki
2010-05-04 23:56 ` Mark Brown
2010-05-05 0:22 ` Rafael J. Wysocki
2010-05-05 1:11 ` Brian Swetland
2010-05-05 11:06 ` Mark Brown
2010-05-05 12:00 ` Brian Swetland
2010-05-05 13:56 ` Mark Brown
2010-05-05 17:33 ` Matthew Garrett
2010-05-05 18:36 ` Alan Stern
2010-05-05 18:52 ` Matthew Garrett
2010-05-05 19:13 ` Alan Stern
2010-05-05 19:22 ` Matthew Garrett
2010-05-05 19:52 ` Mark Brown
2010-05-05 19:55 ` tytso
2010-05-05 20:26 ` Mark Brown
2010-05-05 20:44 ` Rafael J. Wysocki
2010-05-05 21:57 ` Mark Brown
2010-05-05 22:03 ` Brian Swetland
2010-05-05 22:05 ` Rafael J. Wysocki
2010-05-05 23:09 ` Mark Brown
2010-05-05 23:33 ` Rafael J. Wysocki
2010-05-06 0:21 ` Mark Brown
2010-05-06 0:51 ` Rafael J. Wysocki
2010-05-05 20:02 ` Matthew Garrett
2010-05-05 20:09 ` Mark Brown
2010-05-05 19:39 ` Mark Brown
2010-05-05 20:56 ` Brian Swetland
2010-05-05 23:40 ` Mark Brown
2010-05-06 4:25 ` Arve Hjønnevåg
2010-05-07 10:04 ` Mark Brown
2010-05-07 10:57 ` Arve Hjønnevåg
2010-05-07 11:21 ` Mark Brown
2010-05-07 11:29 ` Theodore Tso
2010-05-07 12:25 ` Mark Brown
2010-05-07 12:37 ` Brian Swetland
2010-05-07 13:30 ` Mark Brown [this message]
2010-05-11 18:47 ` Mark Brown
2010-05-07 11:41 ` Arve Hjønnevåg
2010-05-07 14:00 ` Mark Brown
2010-05-05 19:07 ` Mark Brown
2010-05-05 19:20 ` Alan Stern
2010-05-05 19:28 ` Matthew Garrett
2010-05-05 20:04 ` Alan Stern
2010-05-05 20:15 ` Mark Brown
2010-05-05 20:28 ` Rafael J. Wysocki
2010-05-05 23:03 ` Kevin Hilman
2010-05-05 23:16 ` Rafael J. Wysocki
2010-05-05 23:42 ` Brian Swetland
2010-05-06 14:08 ` Alan Stern
2010-05-06 19:26 ` Rafael J. Wysocki
2010-05-05 18:39 ` Mark Brown
2010-05-05 15:35 ` Alan Stern
2010-05-05 16:27 ` Mark Brown
2010-05-04 18:04 ` Kevin Hilman
2010-05-04 0:43 ` Matthew Garrett
2010-05-04 13:51 ` Alan Stern
2010-05-04 14:53 ` Mark Brown
2010-05-04 15:13 ` Kevin Hilman
2010-05-04 15:27 ` Matthew Garrett
2010-05-06 1:40 ` Magnus Damm
2010-05-04 15:13 ` Kevin Hilman
2010-05-04 15:28 ` Matthew Garrett
2010-05-03 21:50 ` Matthew Garrett
[not found] ` <alpine.DEB.2.00.1005141408260.3348@utopia.booyaka.com>
[not found] ` <20100514203202.GA12409@srcf.ucam.org>
[not found] ` <87aas2azc5.fsf@deeprootsystems.com>
[not found] ` <20100514231510.GG16989@thunk.org>
[not found] ` <87r5laa4oc.fsf@deeprootsystems.com>
[not found] ` <AANLkTilL90pYVlquvMDAEPHj_AraEi9Qzk-0tTjw9Bkx@mail.gmail.com>
2010-05-17 20:07 ` [linux-pm] " Mike Chan
2010-05-17 20:17 ` Vitaly Wool
2010-05-17 21:04 ` Mike Chan
2010-05-17 22:55 ` Kevin Hilman
2010-05-17 23:04 ` Brian Swetland
2010-05-24 18:57 ` Pavel Machek
2010-05-24 19:08 ` Matthew Garrett
2010-05-25 1:16 ` Arve Hjønnevåg
2010-05-26 17:32 ` Pavel Machek
2010-05-05 20:35 ` mark gross
2010-05-10 18:06 ` Kevin Hilman
2010-05-10 20:25 ` Rafael J. Wysocki
2010-05-11 16:12 ` Tony Lindgren
2010-05-11 16:14 ` Matthew Garrett
2010-05-11 16:36 ` Tony Lindgren
2010-05-11 16:45 ` Matthew Garrett
2010-05-11 16:58 ` Tony Lindgren
2010-05-11 17:03 ` Matthew Garrett
2010-05-11 17:24 ` Tony Lindgren
2010-05-11 17:30 ` Matthew Garrett
2010-05-11 17:48 ` Tony Lindgren
2010-05-11 18:01 ` Matthew Garrett
2010-05-11 18:19 ` Rafael J. Wysocki
2010-05-12 1:11 ` Arve Hjønnevåg
2010-05-12 11:22 ` Mark Brown
2010-05-13 3:35 ` [linux-pm] " Paul Walmsley
2010-05-13 12:17 ` Matthew Garrett
2010-05-13 17:33 ` Daniel Walker
2010-05-13 18:17 ` Brian Swetland
2010-05-13 18:25 ` Daniel Walker
2010-05-13 18:36 ` Matthew Garrett
2010-05-13 18:59 ` Daniel Walker
2010-05-13 19:11 ` Matthew Garrett
2010-05-13 19:36 ` Daniel Walker
2010-05-13 19:48 ` Matthew Garrett
2010-05-13 21:11 ` Rafael J. Wysocki
2010-05-13 21:16 ` Daniel Walker
2010-05-13 21:27 ` Rafael J. Wysocki
2010-05-13 21:33 ` Daniel Walker
2010-05-13 21:36 ` Tony Lindgren
2010-05-13 21:54 ` Rafael J. Wysocki
2010-05-13 21:46 ` Greg KH
2010-05-13 22:27 ` Mark Brown
2010-05-13 22:45 ` Greg KH
2010-05-14 0:03 ` Mark Brown
2010-05-13 22:46 ` Rafael J. Wysocki
2010-05-13 23:36 ` Mark Brown
2010-05-13 23:48 ` Brian Swetland
2010-05-14 0:29 ` Mark Brown
2010-05-13 22:33 ` Woodruff, Richard
2010-05-13 22:46 ` Greg KH
2010-05-13 23:06 ` Arve Hjønnevåg
2010-05-13 23:28 ` Brian Swetland
2010-05-14 16:47 ` Daniel Walker
2010-05-13 14:16 ` Alan Stern
2010-05-13 19:17 ` Tony Lindgren
2010-05-13 19:25 ` Matthew Garrett
2010-05-13 19:42 ` Tony Lindgren
2010-05-13 19:53 ` Matthew Garrett
2010-05-13 20:00 ` Tony Lindgren
2010-05-13 20:08 ` Matthew Garrett
2010-05-13 20:23 ` Tony Lindgren
2010-05-13 20:34 ` Matthew Garrett
2010-05-13 21:10 ` Tony Lindgren
2010-05-13 21:21 ` Matthew Garrett
2010-05-13 21:34 ` Tony Lindgren
2010-05-15 19:54 ` Matthew Garrett
2010-05-13 21:21 ` Rafael J. Wysocki
2010-05-13 21:25 ` Tony Lindgren
2010-05-13 21:56 ` Rafael J. Wysocki
2010-05-14 20:41 ` Kevin Hilman
2010-05-14 21:25 ` Rafael J. Wysocki
2010-05-14 21:40 ` Kevin Hilman
2010-05-14 21:50 ` Rafael J. Wysocki
2010-05-14 22:45 ` Kevin Hilman
2010-05-14 22:59 ` Brian Swetland
2010-05-15 2:58 ` Alan Stern
2010-05-15 3:40 ` Brian Swetland
2010-05-15 21:19 ` Alan Stern
2010-05-17 15:40 ` Kevin Hilman
2010-05-17 17:04 ` James Bottomley
2010-05-17 17:47 ` Felipe Balbi
2010-05-17 17:58 ` Matthew Garrett
2010-05-17 18:16 ` Felipe Balbi
2010-05-17 17:59 ` James Bottomley
2010-05-17 18:12 ` Felipe Balbi
2010-05-17 18:26 ` Brian Swetland
2010-05-17 18:39 ` Felipe Balbi
2010-05-17 18:45 ` Brian Swetland
2010-05-17 20:22 ` Rafael J. Wysocki
2010-05-17 18:45 ` Mark Brown
2010-05-17 18:47 ` Mike Chan
2010-05-17 19:24 ` James Bottomley
2010-05-17 19:38 ` Felipe Balbi
2010-05-17 19:39 ` Felipe Balbi
2010-05-17 19:49 ` James Bottomley
2010-05-18 6:40 ` Felipe Balbi
2010-05-18 13:59 ` James Bottomley
2010-05-19 6:59 ` Felipe Balbi
2010-05-19 20:42 ` Rafael J. Wysocki
2010-05-20 4:49 ` Felipe Balbi
2010-05-20 11:27 ` Vladimir Pantelic
2010-05-20 11:29 ` Felipe Balbi
2010-05-20 17:40 ` David Brownell
2010-05-20 18:50 ` Felipe Balbi
2010-05-20 23:08 ` David Brownell
2010-05-20 5:15 ` Florian Mickler
2010-05-20 8:57 ` Felipe Balbi
2010-05-20 8:57 ` Felipe Balbi
2010-05-20 10:05 ` Florian Mickler
2010-05-20 10:15 ` Felipe Balbi
2010-05-17 18:54 ` Kevin Hilman
2010-05-17 17:57 ` Daniel Walker
2010-05-15 20:14 ` Rafael J. Wysocki
2010-05-16 19:44 ` Mark Brown
2010-05-13 22:24 ` tytso
2010-05-13 20:36 ` Daniel Walker
2010-05-14 16:06 ` Kevin Hilman
2010-05-24 21:25 ` Pavel Machek
2010-05-13 21:41 ` Alan Stern
2010-05-13 21:54 ` Tony Lindgren
2010-05-13 22:07 ` Rafael J. Wysocki
2010-05-13 22:26 ` Arve Hjønnevåg
2010-05-13 21:14 ` Rafael J. Wysocki
2010-05-13 21:31 ` Tony Lindgren
2010-05-13 21:57 ` Rafael J. Wysocki
2010-05-13 21:37 ` Alan Stern
2010-05-13 21:47 ` Tony Lindgren
2010-05-13 22:01 ` Alan Stern
2010-05-13 22:08 ` Tony Lindgren
2010-05-13 22:28 ` Rafael J. Wysocki
2010-05-15 2:35 ` Alan Stern
2010-05-15 4:04 ` Arve Hjønnevåg
2010-05-13 22:04 ` Rafael J. Wysocki
2010-05-14 3:25 ` Magnus Damm
2010-05-14 16:18 ` Kevin Hilman
2010-05-15 2:47 ` Alan Stern
2010-05-24 21:24 ` Pavel Machek
[not found] <CEE6BB42CAD6E947908279175AF8470A025A7D7DC4@EXDCVYMBSTM006.EQ1STM.local>
[not found] ` <Pine.LNX.4.44L0.1005261156130.1328-100000@iolanthe.rowland.org>
[not found] ` <CEE6BB42CAD6E947908279175AF8470A025A8206ED@EXDCVYMBSTM006.EQ1STM.local>
2010-05-27 8:04 ` Florian Mickler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100507133025.GA23983@rakim.wolfsonmicro.main \
--to=broonie@opensource.wolfsonmicro.com \
--cc=arjan@infradead.org \
--cc=arve@android.com \
--cc=geoffx.smith@intel.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=magnus.damm@gmail.com \
--cc=mgross@linux.intel.com \
--cc=mjg@redhat.com \
--cc=oleg@redhat.com \
--cc=paul@pwsan.com \
--cc=rebecca@android.com \
--cc=rjw@sisk.pl \
--cc=stern@rowland.harvard.edu \
--cc=swetland@google.com \
--cc=tj@kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).