[alsa-devel] [PATCH] ASoC: dapm: Use SND_SOC_DAPM_INIT_REG_VAL in SND_SOC_DAPM_MUX

Stephen Warren swarren at wwwdotorg.org
Fri Nov 22 19:35:09 CET 2013


On 11/22/2013 11:32 AM, Mark Brown wrote:
> On Fri, Nov 22, 2013 at 10:29:18AM -0700, Stephen Warren wrote:
>> From: Stephen Warren <swarren at nvidia.com>
>> 
>> SND_SOC_DAPM_MUX() doesn't currently initialize the .mask field.
>> This results in the mux never affecting HW, since no bits are
>> ever set or cleared. Fix SND_SOC_DAPM_MUX() to use
>> SND_SOC_DAPM_INIT_REG_VAL() to set up the reg, shift, on_val, and
>> off_val fields like almost all other SND_SOC_xxx() macros. It
>> looks like this was a "typo" in the fixed commit linked below.
> 
> Hrm.  Why has nobody else noticed this?  I've been doing plenty of 
> testing that involved changing muxes...  The patch and reasoning
> makes sense but I can't immediately see why any of the testing I've
> been doing recently would've worked without it since it all relies
> on muxes being configured to make any noise.

I think it's not the mux values/routing that matter, but the mux power
gating.

Also, if HW were to power up with muxes powered, then never changing
the power gate wouldn't have any effect (aside from increased power
consumption). In my case, the mux isn't powered by default, so I saw
an issue.


More information about the Alsa-devel mailing list