ASoC: ak4613: don't overwrite CTRL2 register
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 17 Nov 2015 08:28:56 +0000 (08:28 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 17 Nov 2015 11:44:35 +0000 (11:44 +0000)
Current code set DFS settings on CTRL2 register, but it overwrite
default settings. This patch fixup it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/ak4613.c

index dab127603ff6e7b107b9ab594b2c75c99bbabef4..62c08a6395af81a3f3f6e1f1e4fbdec3fa0ff8a9 100644 (file)
@@ -70,6 +70,7 @@
 #define FMT_MASK       (0xf8)
 
 /* CTRL2 */
+#define DFS_MASK               (3 << 2)
 #define DFS_NORMAL_SPEED       (0 << 2)
 #define DFS_DOUBLE_SPEED       (1 << 2)
 #define DFS_QUAD_SPEED         (2 << 2)
@@ -361,7 +362,7 @@ static int ak4613_dai_hw_params(struct snd_pcm_substream *substream,
        fmt_ctrl = AUDIO_IFACE_TO_VAL(iface);
 
        snd_soc_update_bits(codec, CTRL1, FMT_MASK, fmt_ctrl);
-       snd_soc_write(codec, CTRL2, ctrl2);
+       snd_soc_update_bits(codec, CTRL2, DFS_MASK, ctrl2);
 
        snd_soc_write(codec, ICTRL, priv->ic);
        snd_soc_write(codec, OCTRL, priv->oc);