On 18/10/2019 16:48, Ben Dooks wrote: > 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@xxxxxxxxxxxxxxx> > --- > sound/soc/tegra/tegra30_i2s.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c > index fc77e65a3646..3839e3d955a8 100644 > --- a/sound/soc/tegra/tegra30_i2s.c > +++ b/sound/soc/tegra/tegra30_i2s.c > @@ -236,9 +236,9 @@ static void tegra30_i2s_start_capture(struct tegra30_i2s *i2s) > > static void tegra30_i2s_stop_capture(struct tegra30_i2s *i2s) > { > - tegra30_ahub_disable_rx_fifo(i2s->capture_fifo_cif); > regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, > TEGRA30_I2S_CTRL_XFER_EN_RX, 0); > + tegra30_ahub_disable_rx_fifo(i2s->capture_fifo_cif); > } > > static int tegra30_i2s_trigger(struct snd_pcm_substream *substream, int cmd, Acked-by: Jon Hunter <jonathanh@xxxxxxxxxx> Thanks! Jon -- nvpublic