summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-11-29 19:47:38 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-11-29 11:50:50 +0000
commit7b282cbbf3c7bbad20505761a9eadd6d9a7280c7 (patch)
tree7c4f89ea65b9895e62f3dfaa3a27361d56de2b08
parent1175f71197140dfdb8ad31767030175d88cbea2b (diff)
ASoC: cs42l73: Fix clear wrong bits in cs42l73_set_dai_fmt
What we want is to clear BIT[5:4](PCM_MODE_MASK) and BIT[3](PCM_BIT_ORDER) bits, but current code clears BIT[2:0]. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/codecs/cs42l73.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c
index 9fd5de77caf..da3125aa55f 100644
--- a/sound/soc/codecs/cs42l73.c
+++ b/sound/soc/codecs/cs42l73.c
@@ -1024,7 +1024,8 @@ static int cs42l73_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
}
if (spc & SPDIF_PCM) {
- spc &= (31 << 3); /* Clear PCM mode, set MSB->LSB */
+ /* Clear PCM mode, clear PCM_BIT_ORDER bit for MSB->LSB */
+ spc &= ~(PCM_MODE_MASK | PCM_BIT_ORDER);
switch (format) {
case SND_SOC_DAIFMT_DSP_B:
if (inv == SND_SOC_DAIFMT_IB_IF)