linux/sound
S.j. Wang e6265e3680 ASoC: fsl_esai: fix channel swap issue when stream starts
commit 0ff4e8c61b upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-17 08:38:51 +02:00
..
ac97 ALSA: ac97: Fix of-node refcount unbalance 2019-03-27 14:14:41 +09:00
aoa ALSA: snd-aoa: add of_node_put() in error path 2018-06-29 20:35:14 +02:00
arm ASoC: pxa2xx-pcm-lib: fix indenting 2018-06-29 12:05:05 +01:00
atmel ASoC: Updates for v4.14 2017-09-04 14:50:49 +02:00
core ALSA: seq: Fix OOB-reads from strlcpy 2019-04-17 08:38:48 +02:00
drivers ALSA: opl3: Mark expected switch fall-through 2018-08-08 21:40:14 +02:00
firewire ALSA: dice: add support for Solid State Logic Duende Classic/Mini 2019-04-05 22:33:13 +02:00
hda ALSA: hda: Extend i915 component bind timeout 2019-03-19 13:12:41 +01:00
i2c ALSA: i2c: Remove empty init and exit 2018-08-03 16:11:43 +02:00
isa ALSA: wss: Fix invalid snd_free_pages() at error path 2018-12-05 19:32:08 +01:00
mips ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() 2018-07-18 08:24:29 +02:00
oss treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
parisc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci ALSA: hda - Add two more machines to the power_save_blacklist 2019-04-17 08:38:48 +02:00
pcmcia Merge branch 'for-linus' into topic/virmidi 2018-07-29 22:39:29 +02:00
ppc powerpc/ps3: Set driver coherent_dma_mask 2018-07-20 12:50:37 +10:00
sh ALSA: sh: aica: Convert timers to use timer_setup() 2017-10-05 08:20:17 +02:00
soc ASoC: fsl_esai: fix channel swap issue when stream starts 2019-04-17 08:38:51 +02:00
sparc ALSA: sparc: Fix invalid snd_free_pages() at error path 2018-12-05 19:32:08 +01:00
spi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
synth ALSA: emux: Fix potential Spectre v1 vulnerabilities 2019-01-09 17:38:36 +01:00
usb ALSA: usb-audio: Fix implicit fb endpoint setup by quirk 2019-02-20 10:25:45 +01:00
x86 ALSA: x86: Fix runtime PM for hdmi-lpe-audio 2019-03-27 14:14:41 +09:00
xen ALSA: xen: Use standard pcm_format_to_bits() for ALSA format bits 2018-07-27 09:05:34 +02:00
ac97_bus.c
Kconfig ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver 2018-05-16 12:58:36 +02:00
last.c
Makefile ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver 2018-05-16 12:58:36 +02:00
sound_core.c sound: Use octal not symbolic permissions 2018-05-28 11:27:20 +02:00