From 225b4213dd9b8b2963509a3e504afb982eb422ea Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 2 Feb 2018 12:00:00 +0100 Subject: [PATCH 239/277] Revert downstream wm8804 changes The format change from S24_LE to S24_3LE effectively disables 24-bit mode as S24_3LE isn't supported by bcm2835-i2s. This causes issues with drivers that want to use wm8804 in 24-bit mode. Adding the S32_LE format is also incorrect, according to the datasheet only 16-24 bit formats are supported. Signed-off-by: Matthias Reichl --- sound/soc/codecs/wm8804.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c index d8fdce81b297..fc69b87443d8 100644 --- a/sound/soc/codecs/wm8804.c +++ b/sound/soc/codecs/wm8804.c @@ -304,7 +304,6 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream, blen = 0x1; break; case 24: - case 32: blen = 0x2; break; default: @@ -516,7 +515,7 @@ static const struct snd_soc_dai_ops wm8804_dai_ops = { }; #define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \ - SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE) + SNDRV_PCM_FMTBIT_S24_LE) #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \ @@ -544,7 +543,7 @@ static struct snd_soc_dai_driver wm8804_dai = { }; static const struct snd_soc_codec_driver soc_codec_dev_wm8804 = { - .idle_bias_off = false, + .idle_bias_off = true, .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -- 2.16.1