linux/sound/soc/fsl
S.j. Wang 0ff4e8c61b
ASoC: fsl_esai: fix channel swap issue when stream starts
There is very low possibility ( < 0.1% ) that channel swap happened
in beginning when multi output/input pin is enabled. The issue is
that hardware can't send data to correct pin in the beginning with
the normal enable flow.

This is hardware issue, but there is no errata, the workaround flow
is that: Each time playback/recording, firstly clear the xSMA/xSMB,
then enable TE/RE, then enable xSMB and xSMA (xSMB must be enabled
before xSMA). Which is to use the xSMA as the trigger start register,
previously the xCR_TE or xCR_RE is the bit for starting.

Fixes commit 43d24e76b6 ("ASoC: fsl_esai: Add ESAI CPU DAI driver")
Cc: <stable@vger.kernel.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-03-21 14:49:36 +00:00
..
Kconfig ASoC: Add MICFIL SoC Digital Audio Interface driver. 2019-01-07 17:00:55 +00:00
Makefile ASoC: Add MICFIL SoC Digital Audio Interface driver. 2019-01-07 17:00:55 +00: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-asoc-card.c ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe 2019-02-04 10:03:44 +01:00
fsl_asrc.c ASoC: fsl_asrc: add constraint for the asrc of older version 2019-03-21 14:49:24 +00:00
fsl_asrc.h ASoC: fsl_asrc: Switch to SPDX identifier 2018-07-24 16:58:59 +01:00
fsl_asrc_dma.c ASoC: add for_each_dpcm_be() macro 2018-09-20 10:31:20 -07:00
fsl_dma.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2018-04-05 11:56:35 -07:00
fsl_dma.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
fsl_esai.c ASoC: fsl_esai: fix channel swap issue when stream starts 2019-03-21 14:49:36 +00:00
fsl_esai.h ASoC: fsl_esai: Switch to SPDX identifier 2018-05-03 10:29:05 +09:00
fsl_micfil.c ASoC: Add MICFIL SoC Digital Audio Interface driver. 2019-01-07 17:00:55 +00:00
fsl_micfil.h ASoC: Add MICFIL SoC Digital Audio Interface driver. 2019-01-07 17:00:55 +00:00
fsl_sai.c ASoC: fsl_sai: Remove expensive print in irq handler 2019-01-18 18:09:15 +00:00
fsl_sai.h ASoC: fsl_sai: Switch to SPDX identifier 2018-05-03 10:28:59 +09:00
fsl_spdif.c ASoC: fsl_spdif: fix sysclk_df type 2019-02-18 17:42:09 +00:00
fsl_spdif.h ASoC: fsl_spdif: fix TXCLK_DF mask 2019-02-18 17:41:55 +00:00
fsl_ssi.c ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt() 2019-02-20 12:02:50 +00:00
fsl_ssi.h ASoC: fsl_ssi: Switch to SPDX identifier 2018-05-03 10:28:43 +09:00
fsl_ssi_dbg.c ASoC: fsl_ssi: Change to use DEFINE_SHOW_ATTRIBUTE macro 2018-11-07 14:59:37 +00:00
fsl_utils.c ASoC: Convert to using %pOFn instead of device_node.name 2018-08-28 19:07:00 +01: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-01-15 19:06:08 +00: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 SoC: imx-sgtl5000: add missing put_device() 2019-02-19 10:47:24 +00:00
imx-spdif.c ASoC: imx-spdif: don't print EPROBE_DEFER as error 2019-01-18 18:08:47 +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 ASoC: fsl: imx-ssi: omit ssi counter to avoid harm in unbalanced situation 2013-12-02 11:57:02 +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: add for_each_card_prelinks() macro 2018-09-20 10:18:34 -07: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