summaryrefslogtreecommitdiff
path: root/sound/soc
diff options
context:
space:
mode:
authorOlivier Moysan <olivier.moysan@foss.st.com>2021-11-17 13:44:04 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-01 11:04:47 +0300
commit63073a015730061084fa1c414f47ed8f03f07237 (patch)
tree116f9d1e7ab87b111d6c4e7aa80804c4442a6a48 /sound/soc
parent008fb838e226ab9aa5f29227d57f092ceab06fb8 (diff)
downloadlinux-63073a015730061084fa1c414f47ed8f03f07237.tar.xz
ASoC: stm32: i2s: fix 32 bits channel length without mclk
[ Upstream commit 424fe7edbed18d47f7b97f7e1322a6f8969b77ae ] Fix divider calculation in the case of 32 bits channel configuration, when no master clock is used. Fixes: e4e6ec7b127c ("ASoC: stm32: Add I2S driver") Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com> Link: https://lore.kernel.org/r/20211117104404.3832-1-olivier.moysan@foss.st.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/stm/stm32_i2s.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/stm/stm32_i2s.c b/sound/soc/stm/stm32_i2s.c
index 6254bacad6eb..717f45a83445 100644
--- a/sound/soc/stm/stm32_i2s.c
+++ b/sound/soc/stm/stm32_i2s.c
@@ -700,7 +700,7 @@ static int stm32_i2s_configure_clock(struct snd_soc_dai *cpu_dai,
if (ret < 0)
return ret;
- nb_bits = frame_len * ((cgfr & I2S_CGFR_CHLEN) + 1);
+ nb_bits = frame_len * (FIELD_GET(I2S_CGFR_CHLEN, cgfr) + 1);
ret = stm32_i2s_calc_clk_div(i2s, i2s_clock_rate,
(nb_bits * rate));
if (ret)