linux/sound/soc/fsl
Shengjiu Wang 5c11f63799 ASoC: fsl_sai: Fix channel swap issue on i.MX8MP
[ Upstream commit 8f0f016475 ]

When flag mclk_with_tere and mclk_direction_output enabled,
The SAI transmitter or receiver will be enabled in very early
stage, that if FSL_SAI_xMR is set by previous case,
for example previous case is one channel, current case is
two channels, then current case started with wrong xMR in
the beginning, then channel swap happen.

The patch is to clear xMR in hw_free() to avoid such
channel swap issue.

Fixes: 3e4a826129 ("ASoC: fsl_sai: MCLK bind with TX/RX enable bit")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://msgid.link/r/1702953057-4499-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-01-01 12:38:58 +00:00
..
efika-audio-fabric.c ASoC: fsl: efika-audio-fabric: use modern dai_link style 2019-06-06 21:41:08 +01:00
eukrea-tlv320.c ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API 2022-09-14 15:05:59 +01:00
fsl-asoc-card.c ASoC: fsl-asoc-card: Fix naming of AC'97 CODEC widgets 2023-02-01 08:34:31 +01:00
fsl_asrc.c ASoC: fsl_asrc fsl_esai fsl_sai: allow CONFIG_PM=N 2022-10-28 17:14:43 +01:00
fsl_asrc.h ASoC: fsl_asrc: Move common definition to fsl_asrc_common 2020-04-21 16:34:09 +01:00
fsl_asrc_common.h ASoC: fsl_asrc_dma: Fix data copying speed issue with EDMA 2020-06-12 14:18:04 +01:00
fsl_asrc_dma.c ASoC: fsl_asrc_dma: fix potential null-ptr-deref 2023-04-26 14:28:44 +02:00
fsl_aud2htx.c ASoC: fsl_aud2htx: Add error handler for pm_runtime_enable 2022-08-25 14:17:31 +01:00
fsl_aud2htx.h ASoC: fsl_aud2htx: Add aud2htx module driver 2020-11-05 17:06:16 +00:00
fsl_audmix.c ASoC: fsl_audmux: Fix amixer write errors 2022-09-23 17:54:10 +01:00
fsl_audmix.h ASoC: fsl_audmix: Add spin lock to protect tdms 2019-11-11 13:01:37 +00:00
fsl_dma.c ASoC: fsl_dma: Use managed buffer allocation 2021-08-04 08:09:09 +02:00
fsl_dma.h ASoC: fsl-dma: Switch to SPDX identifier 2019-04-08 13:51:01 +07:00
fsl_easrc.c ASoC: fsl: Fix PM disable depth imbalance in fsl_easrc_probe 2023-11-20 11:52:06 +01:00
fsl_easrc.h ASoC: fsl_easrc: use snd_pcm_format_t type for sample_format 2022-07-21 13:38:51 +01:00
fsl_esai.c ASoC: fsl_asrc fsl_esai fsl_sai: allow CONFIG_PM=N 2022-10-28 17:14:43 +01:00
fsl_esai.h ASoC: fsl_esai: Switch to SPDX identifier 2018-05-03 10:29:05 +09:00
fsl_micfil.c ASoC: fsl_micfil: Fix error handler with pm_runtime_enable 2023-05-24 17:32:43 +01:00
fsl_micfil.h ASoC: fsl_micfil: change micfil default settings 2022-06-29 11:58:45 +01:00
fsl_mqs.c ASoC: fsl_mqs: move of_node_put() to the correct location 2023-05-11 23:03:29 +09:00
fsl_rpmsg.c ASoC: fsl: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:32 +01:00
fsl_rpmsg.h ASoC: fsl_rpmsg: add soc specific data structure 2021-09-13 01:59:15 +01:00
fsl_sai.c ASoC: fsl_sai: Fix channel swap issue on i.MX8MP 2024-01-01 12:38:58 +00:00
fsl_sai.h ASoC: fsl_sai: MCLK bind with TX/RX enable bit 2023-10-19 23:08:51 +02:00
fsl_spdif.c ASoC: fsl_spdif: Silence output on stop 2023-08-03 10:24:04 +02:00
fsl_spdif.h ASoC: fsl_spdif: Add new registers included on i.MX8ULP 2022-03-17 18:00:14 +00:00
fsl_ssi.c ASoC: Use of_property_read_bool() for boolean properties 2023-10-19 23:08:51 +02:00
fsl_ssi.h ASoC: fsl: no need to check return value of debugfs_create functions 2019-06-14 16:37:48 +01:00
fsl_ssi_dbg.c ASoC: fsl: fsl_ssi_dbg: remove spurious kernel-doc comment start 2020-07-03 16:09:24 +01:00
fsl_utils.c ASoC: fsl: fsl-utils: remove useless assignment 2022-08-31 12:13:03 +01:00
fsl_utils.h ASoC: fsl_utils: Add function to handle PLL clock source 2022-07-05 13:00:37 +01:00
fsl_xcvr.c ASoC: fsl: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:32 +01:00
fsl_xcvr.h ASoC: fsl_xcvr: Add XCVR ASoC CPU DAI driver 2020-10-26 15:45:31 +00:00
imx-audio-rpmsg.c ASoC: imx-audio-rpmsg: use module_rpmsg_driver to simplify the code 2021-06-03 13:59:57 +01:00
imx-audmix.c ASoC: imx-audmix: Fix return error with devm_clk_get() 2023-10-06 14:56:37 +02:00
imx-audmux.c ASoC: imx-audmux: remove unnecessary check of clk_disable_unprepare/clk_prepare_enable 2022-06-09 11:57:46 +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-card.c ASoC: Use of_property_read_bool() for boolean properties 2023-10-19 23:08:51 +02:00
imx-es8328.c ASoC: soc-card: Create jack kcontrol without pins 2022-04-14 17:37:21 +01:00
imx-hdmi.c ASoC: imx-hdmi: Fix refcount leak in imx_hdmi_probe 2022-05-11 17:42:11 +01:00
imx-pcm-dma.c ASoC: fsl: Drop unused argument from imx_pcm_dma_init() 2022-02-28 13:33:57 +00:00
imx-pcm-fiq.c ASoC: fsl: imx-pcm-fiq: Use managed buffer allocation 2021-08-04 08:08:42 +02:00
imx-pcm-rpmsg.c ASoC: fsl: imx-pcm-rpmsg: Add SNDRV_PCM_INFO_BATCH flag 2023-10-06 14:56:55 +02:00
imx-pcm-rpmsg.h ASoC: imx-pcm-rpmsg: Fix warning of incorrect type in assignment 2021-05-10 13:05:38 +01:00
imx-pcm.h ASoC: fsl: Remove unused inline function imx_pcm_dma_params_init_data() 2022-09-23 13:56:25 +01:00
imx-rpmsg.c ASoC: imx-rpmsg: Set ignore_pmdown_time for dai_link 2023-10-06 14:56:56 +02:00
imx-sgtl5000.c ASoC: fsl: Fix refcount leak in imx_sgtl5000_probe 2022-05-11 17:42:09 +01:00
imx-spdif.c ASoC: fsl: Use dev_err_probe() helper 2021-12-20 12:47:14 +00:00
imx-ssi.h dmaengine: imx: Move header to include/dma/ 2022-04-19 12:06:18 +01:00
Kconfig ASoC: fsl_sai: Add support for PLL switch at runtime 2022-07-05 13:00:40 +01:00
Makefile ASoC: imx-card: Add imx-card machine driver 2021-05-20 17:57:30 +01:00
mpc5200_dma.c ASoC: fsl: mpc5200_dma.c: Fix warning of Function parameter or member not described 2023-11-20 11:52:06 +01: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: soc-core: remove bus_control 2020-01-21 17:07:08 +00:00
mpc5200_psc_i2s.c ASoC: fsl: Migrate to new style legacy DAI naming flag 2022-06-27 13:16:32 +01:00
mpc8610_hpcd.c ASoC: mpc8610_hpcd: Update to modern clocking terminology 2021-09-22 13:23:29 +01:00
p1022_ds.c ASoC: pl1022_ds: Update to modern clocking terminology 2021-09-22 13:23:30 +01:00
p1022_rdk.c ASoC: pl1022_rdk: Update to modern clocking terminology 2021-09-22 13:23:31 +01:00
pcm030-audio-fabric.c ASoC: fsl: pcm030-audio-fabric: use platform_device_unregsiter() 2022-07-04 12:44:17 +01:00