[alsa-devel] ASoC: One HW register bit affecting two paths

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Apr 27 11:08:29 CEST 2011


On Tue, Apr 26, 2011 at 11:47:43AM -0700, Stephen Warren wrote:

> When alsamixer sets one of these controls, both the Left ADC Input and
> Right ADC Input controls read back with the value that was set, since
> they both read from the same register bit. However, if only one of the
> controls is actually manipulated, then only the paths associated with
> that single widget are updated by dapm_mux_update_power. To solve this,
> the user must currently also toggle the other control back to the
> original value and then to the new value in order to update the paths.

Right, I had assumed we must've fixed this at some point in the past
without me noticing when you sent the original patch as I'd expected
you'd have seen issues in your testing.

> Solution 2: Sharing controls:

This seems the best solution to me.

> Solution 3: Stereo widgets:

The problem I see with this one is that someone's doubtless going to
come up with something other than stereo controls, for example a single
control that affects six channel surround sound data streams.  Sharing
the control seems like it scales up better to odd combinations of
channels.


More information about the Alsa-devel mailing list