]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: fsl_esai: recover the channel swap after xrun
authorShengjiu Wang <shengjiu.wang@nxp.com>
Thu, 11 Jul 2019 10:49:46 +0000 (18:49 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 23 Jul 2019 11:25:05 +0000 (12:25 +0100)
commit5fd31b625fe570af2b455b688e3bd1c12803c91b
tree7e77f324e848b3ca35e02b8bb1012bb1eb3f6dd7
parentd577be25b6e9cd888117ebc0eaad00b0d2931ebf
ASoC: fsl_esai: recover the channel swap after xrun

There is chip errata ERR008000, the reference doc is
(https://www.nxp.com/docs/en/errata/IMX6DQCE.pdf),

The issue is "While using ESAI transmit or receive and
an underrun/overrun happens, channel swap may occur.
The only recovery mechanism is to reset the ESAI."

This issue exist in imx3/imx5/imx6(partial) series.

In this commit add a tasklet to handle reset of ESAI
after xrun happens to recover the channel swap.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/326035cb99975361699d9ed748054b08bc06a341.1562842206.git.shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_esai.c