linux_dsm_epyc7002/sound/soc/fsl
Nicolin Chen fac8a5a5ea
ASoC: fsl_ssi: Fix mode setting when changing channel number
This is a partial revert (in a cleaner way) of commit ebf08ae3bc
("ASoC: fsl_ssi: Keep ssi->i2s_net updated") to fix a regression
at test cases when switching between mono and stereo audio.

The problem is that ssi->i2s_net is initialized in set_dai_fmt()
only, while this set_dai_fmt() is only called during the dai-link
probe(). The original patch assumed set_dai_fmt() would be called
during every playback instance, so it failed at the overriding use
cases.

This patch adds the local variable i2s_net back to let regular use
cases still follow the mode settings from the set_dai_fmt().

Meanwhile, the original commit of keeping ssi->i2s_net updated was
to make set_tdm_slot() clean by checking the ssi->i2s_net directly
instead of reading SCR register. However, the change itself is not
necessary (or even harmful) because the set_tdm_slot() might fail
to check the slot number for Normal-Mode-None-Net settings while
mono audio cases still need 2 slots. So this patch can also fix it.
And it adds an extra line of comments to declare ssi->i2s_net does
not reflect the register value but merely the initial setting from
the set_dai_fmt().

Reported-by: Mika Penttilä <mika.penttila@nextfour.com>
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Tested-by: Mika Penttilä <mika.penttila@nextfour.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-04-12 15:30:23 +01:00
..
efika-audio-fabric.c ASoC: mpc5200_psc_ac97: Remove unused DAI ID defines 2017-01-10 18:45:26 +00:00
eukrea-tlv320.c ASoC: eukrea-tlv320: Remove include line of fsl_ssi.h 2017-12-04 18:06:36 +00:00
fsl_asrc_dma.c ASoC: fsl: asrc: replace platform to component 2018-02-12 11:45:23 +00:00
fsl_asrc.c ASoC: fsl: asrc: replace platform to component 2018-02-12 11:45:23 +00:00
fsl_asrc.h ASoC: fsl: asrc: replace platform to component 2018-02-12 11:45:23 +00:00
fsl_dma.c ASoC: fsl: dma: replace platform to component 2018-02-12 11:45:22 +00:00
fsl_dma.h
fsl_esai.c ASoC: fsl_esai: Fix divisor calculation failure at lower ratio 2018-04-12 15:27:02 +01:00
fsl_esai.h ASoC: fsl_esai: Fix incorrect xDC field width of xCCR registers 2014-12-30 11:29:19 +00:00
fsl_sai.c ASoC: fsl_sai: support more than 2 channels 2017-02-13 18:01:55 +00:00
fsl_sai.h ASoC: fsl_sai: add tdm slots operation support 2015-11-25 12:03:30 +00:00
fsl_spdif.c ASoC: fsl_spdif: make const arrays rate static 2017-09-04 13:40:45 +01:00
fsl_spdif.h ASoC: fsl_spdif: Add support for output sample rates 96kHz and 192kHz 2014-06-17 15:36:54 +01:00
fsl_ssi_dbg.c ASoC: fsl_ssi: Refine indentations and wrappings 2017-12-19 09:24:41 +00:00
fsl_ssi.c ASoC: fsl_ssi: Fix mode setting when changing channel number 2018-04-12 15:30:23 +01:00
fsl_ssi.h ASoC: fsl_ssi: Redefine RX and TX macros 2018-02-21 12:30:47 +00:00
fsl_utils.c ASoC: fsl_utils: Use 'const _be *' type for iprop 2018-02-12 09:32:11 +00:00
fsl_utils.h ASoC: fsl: Remove fsl_asoc_xlate_tdm_slot_mask() 2015-01-14 19:04:56 +00:00
fsl-asoc-card.c ASoC: fsl-asoc-card: Use 'snd_pcm_format_t' type when appropriate 2018-02-12 09:31:44 +00:00
imx-audmux.c ASoC: fsl: Convert to using %pOF instead of full_name 2017-08-08 11:36:54 +01:00
imx-audmux.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
imx-es8328.c ASoC: fsl: Remove superfluous snd_soc_jack_free_gpios() call 2017-08-22 13:38:39 +01:00
imx-mc13783.c ASoC: fsl: constify snd_soc_ops structures 2017-03-15 13:34:32 +00:00
imx-pcm-dma.c ASoC: imx-pcm-dma: simplify pcm_config 2017-03-08 10:58:42 +01:00
imx-pcm-fiq.c ASoC: fsl: imx: replace platform to component 2018-02-12 11:45:24 +00:00
imx-pcm.h ASoC: fsl: Add dedicated DMA buffer size for each cpu dai 2015-07-07 13:16:12 +01:00
imx-sgtl5000.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
imx-spdif.c ASoC: imx-spdif: Fix crash on suspend 2016-01-27 11:30:02 +00:00
imx-ssi.c ASoC: imx-ssi: add check on platform_get_irq return value 2017-07-07 13:50:43 +01:00
imx-ssi.h
Kconfig ASoC: imx-wm8962: Remove machine driver 2018-02-27 10:40:08 +00:00
Makefile ASoC: imx-wm8962: Remove machine driver 2018-02-27 10:40:08 +00:00
mpc5200_dma.c ASoC: fsl: mpc5200: replace platform to component 2018-02-12 11:45:25 +00:00
mpc5200_dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpc5200_psc_ac97.c ASoC: mpc5200_psc_ac97: Remove unused DAI ID defines 2017-01-10 18:45:26 +00:00
mpc5200_psc_i2s.c ASoC: fsl: constify of_device_id array 2015-03-22 18:02:56 +00:00
mpc8610_hpcd.c ASoC: fsl: constify snd_soc_ops structures 2017-03-15 13:34:32 +00:00
mx27vis-aic32x4.c ASoC: fsl: constify snd_soc_ops structures 2017-03-15 13:34:32 +00:00
p1022_ds.c ASoC: fsl: constify snd_soc_ops structures 2017-03-15 13:34:32 +00:00
p1022_rdk.c ASoC: fsl: constify snd_soc_ops structures 2017-03-15 13:34:32 +00:00
pcm030-audio-fabric.c ASoC: fsl: constify of_device_id array 2015-03-22 18:02:56 +00:00
phycore-ac97.c ASoC: fsl: constify snd_soc_ops structures 2017-03-15 13:34:32 +00:00
wm1133-ev1.c ASoC: wm8350: replace codec to component 2018-02-12 09:39:59 +00:00