kernel-fxtec-pro1x/sound/soc/fsl
Shengjiu Wang 7a799de674 ASoC: fsl_ssi: Fix bclk calculation for mono channel
[ Upstream commit ed1220df6e666500ebf58c4f2fccc681941646fb ]

For mono channel, SSI will switch to Normal mode.

In Normal mode and Network mode, the Word Length Control bits
control the word length divider in clock generator, which is
different with I2S Master mode (the word length is fixed to
32bit), it should be the value of params_width(hw_params).

The condition "slots == 2" is not good for I2S Master mode,
because for Network mode and Normal mode, the slots can also
be 2. Then we need to use (ssi->i2s_net & SSI_SCR_I2S_MODE_MASK)
to check if it is I2S Master mode.

So we refine the formula for mono channel, otherwise there
will be sound issue for S24_LE.

Fixes: b0a7043d5c ("ASoC: fsl_ssi: Caculate bit clock rate using slot number and width")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/034eff1435ff6ce300b6c781130cefd9db22ab9a.1592276147.git.shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-30 23:17:10 -04:00
..
efika-audio-fabric.c
eukrea-tlv320.c ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_put 2019-05-31 06:46:28 -07:00
fsl-asoc-card.c ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe 2019-04-05 22:33:11 +02:00
fsl_asrc.c ASoC: fsl_asrc: Fix the issue about unsupported rate 2019-06-19 08:18:01 +02:00
fsl_asrc.h ASoC: fsl_asrc: Switch to SPDX identifier 2018-07-24 16:58:59 +01:00
fsl_asrc_dma.c ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed 2020-06-25 15:33:01 +02:00
fsl_dma.c
fsl_dma.h
fsl_esai.c ASoC: fsl_esai: Fix missing break in switch statement 2019-05-22 07:37:38 +02:00
fsl_esai.h
fsl_sai.c ASoC: fsl_sai: Update is_slave_mode with correct value 2019-05-31 06:46:14 -07:00
fsl_sai.h
fsl_spdif.c ASoC: fsl_spdif: Use 64-bit arithmetic instead of 32-bit 2018-07-05 11:07:59 +01:00
fsl_spdif.h
fsl_ssi.c ASoC: fsl_ssi: Fix bclk calculation for mono channel 2020-06-30 23:17:10 -04:00
fsl_ssi.h
fsl_ssi_dbg.c
fsl_utils.c ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put 2019-05-31 06:46:28 -07:00
fsl_utils.h ASoC: fsl_utils: Switch to SPDX identifier 2018-07-24 16:59:03 +01:00
imx-audmux.c ASoC: imx-audmux: change snprintf to scnprintf for possible overflow 2019-03-05 17:58:47 +01:00
imx-audmux.h
imx-es8328.c
imx-mc13783.c
imx-pcm-dma.c
imx-pcm-fiq.c
imx-pcm.h
imx-sgtl5000.c ASoC: imx-sgtl5000: put of nodes if finding codec fails 2020-01-27 14:50:14 +01:00
imx-spdif.c
imx-ssi.c
imx-ssi.h
Kconfig ASoC: imx: fix fiq dependencies 2019-05-31 06:46:11 -07:00
Makefile
mpc5200_dma.c
mpc5200_dma.h
mpc5200_psc_ac97.c
mpc5200_psc_i2s.c
mpc8610_hpcd.c
mx27vis-aic32x4.c
p1022_ds.c
p1022_rdk.c
pcm030-audio-fabric.c
phycore-ac97.c
wm1133-ev1.c