[alsa-devel] [PATCH 2/7] ASoC: DAPM: Pass snd_dapm_soc_update as parameter

Mark Brown broonie at opensource.wolfsonmicro.com
Fri Apr 29 00:18:00 CEST 2011

On Fri, Apr 29, 2011 at 12:04:04AM +0200, Lars-Peter Clausen wrote:
> On 04/28/2011 11:48 PM, Mark Brown wrote:

> > Moving to the card doesn't seem helpful, while we're currently doing one
> > update at once it's not immediately obvious that we want to keep doing
> > that indefinitely.

> But keeping it in the dapm context would limit us to one update per context
> which doesn't seem very sustainable either.

The contexts are pretty much I/O limited - there's a limit to how much
you can do simultaneously on a context because at some point you have to
interact with the hardware and that's usually the only thing that takes
enough time to really care about.  Each context will usually go along
with a control interface and sometimes those control interfaces will be
able to run separately.

Though for global state changes like this that's pretty much irrelevant
as we need to walk the entire graph at once.

> Turning the pointer in the card struct into a list seems like an option though.

> dapm_power_widgets works over the whole card, so the updates to be done should
> in my opinion be kept on a per card basis as well.

They're going to be tied to a context anyway, simply as a result of
getting the I/O context for a register write - if they get moved to the
card they'll need to have a context added.

More information about the Alsa-devel mailing list