ASoC: pcm1681: Fix setting de-emphasis sampling rate selection
authorAxel Lin <axel.lin@ingics.com>
Thu, 23 Jul 2015 15:22:26 +0000 (23:22 +0800)
committerJiri Slaby <jslaby@suse.cz>
Wed, 19 Aug 2015 06:36:52 +0000 (08:36 +0200)
commit fa8173a3ef0570affde7da352de202190b3786c2 upstream.

The de-emphasis sampling rate selection is controlled by BIT[3:4] of
PCM1681_DEEMPH_CONTROL register. Do proper left shift to set it.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Marek Belisko <marek.belisko@streamunlimited.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
sound/soc/codecs/pcm1681.c

index 0819fa2ff7100f38b029d168d1291ff6bd890f80..a7a34613c82827e218c66b84a8ce9337fa0bc4af 100644 (file)
@@ -101,7 +101,7 @@ static int pcm1681_set_deemph(struct snd_soc_codec *codec)
 
        if (val != -1) {
                regmap_update_bits(priv->regmap, PCM1681_DEEMPH_CONTROL,
-                                       PCM1681_DEEMPH_RATE_MASK, val);
+                                  PCM1681_DEEMPH_RATE_MASK, val << 3);
                enable = 1;
        } else
                enable = 0;