]> git.hungrycats.org Git - linux/commitdiff
ASoC: wm_hubs: Ensure volume updates are handled during class W startup
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 27 Sep 2012 17:35:24 +0000 (18:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 12 Oct 2012 20:47:11 +0000 (05:47 +0900)
commit eb4d5fc1f0ce89e3d5b072c594a1e213a0e05881 upstream.

In some circumstances we may need to flush volume updates to the device
after switching to class W mode. Do this unconditionally to ensure that
these situations are handled.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/codecs/wm_hubs.c

index dfe957a47f29b02073de0de666de9cfab51c96e4..932a535183effcc674644114627e28f7f527325c 100644 (file)
@@ -634,6 +634,11 @@ void wm_hubs_update_class_w(struct snd_soc_codec *codec)
 
        snd_soc_update_bits(codec, WM8993_CLASS_W_0,
                            WM8993_CP_DYN_V | WM8993_CP_DYN_FREQ, enable);
+
+       snd_soc_write(codec, WM8993_LEFT_OUTPUT_VOLUME,
+                     snd_soc_read(codec, WM8993_LEFT_OUTPUT_VOLUME));
+       snd_soc_write(codec, WM8993_RIGHT_OUTPUT_VOLUME,
+                     snd_soc_read(codec, WM8993_RIGHT_OUTPUT_VOLUME));
 }
 EXPORT_SYMBOL_GPL(wm_hubs_update_class_w);