[alsa-devel] [PATCH RESEND] ASoC: cs42l73: Fix clear wrong bits in cs42l73_set_dai_fmt
Axel Lin
axel.lin at gmail.com
Tue Nov 29 12:47:38 CET 2011
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 at gmail.com>
Acked-by: Brian Austin <brian.austin at cirrus.com>
---
This patch was sent on http://comments.gmane.org/gmane.linux.alsa.devel/91501
and Brian replied "tested and acked" for both patches.
[PATCH 1/2] ASoC: cs42l73: Unify the way to define bits of register is already merged,
but [PATCH 2/2] ASoC: cs42l73: Fix clear wrong bits in cs42l73_set_dai_fmt is missed.
sound/soc/codecs/cs42l73.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c
index 0306e72..a2af595 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)
--
1.7.5.4
More information about the Alsa-devel
mailing list