ASoC: wm2200: Fix setting dai format in wm2200_set_fmt
Subsystems (3)
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.
Signed-off-by Axel Lin <[email protected]>
---
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
@@ -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
Mark Brown
AppliedQuoted 1 line · Axel Lin
According to the defines in
wm2200.h:
Applied, thanks.