From ddb523d853a0d64275424f935d8bb6da4af3b4dc Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 2 Feb 2018 20:30:41 +0100 Subject: [PATCH 209/454] ASoC: pcm512x: revert downstream changes This partially reverts commit 185ea05465aac8bf02a0d2b2f4289d42c72870b7 which was added by https://github.com/raspberrypi/linux/pull/1152 The downstream pcm512x changes caused a regression, it broke normal use of the 24bit format with the codec, eg when using simple-audio-card. The actual bug with 24bit playback is the incorrect usage of physical_width in various drivers in the downstream tree which causes 24bit data to be transmitted with 32 clock cycles. So it's not the pcm512x that needs fixing, it's the soundcard drivers. Signed-off-by: Matthias Reichl --- sound/soc/codecs/pcm512x.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c @@ -851,8 +851,7 @@ static int pcm512x_set_dividers(struct s int fssp; int gpio; - lrclk_div = snd_pcm_format_physical_width(params_format(params)) - * params_channels(params); + lrclk_div = snd_soc_params_to_frame_size(params); if (lrclk_div == 0) { dev_err(dev, "No LRCLK?\n"); return -EINVAL;