ASoC: tegra: disable rx_fifo after disable stream
authorBen Dooks <ben.dooks@codethink.co.uk>
Fri, 18 Oct 2019 15:48:30 +0000 (16:48 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 25 Oct 2019 10:07:33 +0000 (11:07 +0100)
commit8c05f6af7b7d713e327cd6df5a8889c32fc1c10f
treec9719b40090870be831133180b24d888cf940edb
parent07932563686a6c51b26266c8572901c46fd1cd55
ASoC: tegra: disable rx_fifo after disable stream

We see odd FIFO overruns with this, we assume the best thing to do is
to disable the RX I2S frontend first, and then disable the FIFO that
is using it.

This also fixes an issue where using multi-word frames (TDM) have
partial samples stuck in the FIFO which then get read out when the
next capture is started.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://lore.kernel.org/r/20191018154833.7560-5-ben.dooks@codethink.co.uk
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/tegra/tegra30_i2s.c