| From d558cfc30064a97c2c65dbd2b3a4f5a1dea7ec1b Mon Sep 17 00:00:00 2001 |
| From: Axel Lin <axel.lin@gmail.com> |
| Date: Fri, 28 Oct 2011 15:17:56 +0800 |
| Subject: ASoC: Leave input audio data bit length settings untouched in wm8711_set_dai_fmt |
| |
| From: Axel Lin <axel.lin@gmail.com> |
| |
| commit d558cfc30064a97c2c65dbd2b3a4f5a1dea7ec1b upstream. |
| |
| Current implementation in wm8711_set_dai_fmt always clear BIT[3:2] |
| (the Input Audio Data Bit Length Select) of WM8711_IFACE(07h) register. |
| Input Audio Data Bit Length Select bits are set by wm8711_hw_params, |
| we should leave BIT[3:2] untouched in wm8711_set_dai_fmt. |
| |
| Signed-off-by: Axel Lin <axel.lin@gmail.com> |
| Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/soc/codecs/wm8711.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/sound/soc/codecs/wm8711.c |
| +++ b/sound/soc/codecs/wm8711.c |
| @@ -231,7 +231,7 @@ static int wm8711_set_dai_fmt(struct snd |
| unsigned int fmt) |
| { |
| struct snd_soc_codec *codec = codec_dai->codec; |
| - u16 iface = 0; |
| + u16 iface = snd_soc_read(codec, WM8711_IFACE) & 0x000c; |
| |
| /* set master/slave audio interface */ |
| switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { |