Skip to contentSkip to conversation

ASoC: wm2200: Fix setting dai format in wm2200_set_fmt

PATCH Applied Axel Lin 2 participants 2 messages Dec 21, 2012

Subsystems (3)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 ASoC: wm2200: Fix setting dai format in wm2200_set_fmt

According to the defines in wm2200.h:
/*
* R1284 (0x504) - Audio IF 1_5
*/

#define WM2200_AIF1_FMT_MASK                    0x0007  /* AIF1_FMT - [2:0] */
#define WM2200_AIF1_FMT_SHIFT                        0  /* AIF1_FMT - [2:0] */
#define WM2200_AIF1_FMT_WIDTH                        3  /* AIF1_FMT - [2:0] */

We should not left shift 1 bit for fmt_val when setting dai format.

---
Hi Mark,
wm2200.h defines WM2200_AIF1_FMT_SHIFT to be 0, so current code looks wrong to me. I don't have the datasheet, so can you check if this patch is correct?

Axel

 sound/soc/codecs/wm2200.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
sound/soc/codecs/wm2200.c +1 -1
index afcf31d..a12fc2f 100644
@@ -1626,7 +1626,7 @@ static int wm2200_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 			    WM2200_AIF1TX_LRCLK_MSTR | WM2200_AIF1TX_LRCLK_INV,
 			    lrclk);
 	snd_soc_update_bits(codec, WM2200_AUDIO_IF_1_5,
-			    WM2200_AIF1_FMT_MASK << 1, fmt_val << 1);
+			    WM2200_AIF1_FMT_MASK, fmt_val);
 
 	return 0;
 }
Signature · 1 line
1.7.9.5
Applied
#1 lore raw
Quoted 1 line · Axel Lin

According to the defines in wm2200.h:

Applied, thanks.