[alsa-devel] [PATCH] ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatile

Shawn Guo shawn.guo at linaro.org
Tue May 13 16:29:31 CEST 2014

On Tue, May 13, 2014 at 01:45:15PM +0100, Charles Keepax wrote:
> The register CLASS_D_CONTROL_1 is marked as volatile because it contains
> a bit, DAC_MUTE, which is also mirrored in the ADC_DAC_CONTROL_1
> register. This causes problems for the "Speaker Switch" control, which
> will report an error if the CODEC is suspended because it relies on a
> volatile register.
> To resolve this issue mark CLASS_D_CONTROL_1 as non-volatile and
> manually keep the register cache in sync by updating both bits when
> changing the mute status.
> Reported-by: Shawn Guo <shawn.guo at linaro.org>
> Signed-off-by: Charles Keepax <ckeepax at opensource.wolfsonmicro.com>
> ---
> Hi Shawn,
> I am afraid I don't have access to hardware for 8962 at the
> moment, so have only build tested this, but I believe it
> should fix your issue.

Yes, it fixes my issue.  Thanks, Charles.

Tested-by: Shawn Guo <shawn.guo at linaro.org>

More information about the Alsa-devel mailing list