[alsa-devel] [PATCH v5 4/7] ASoC: tegra: disable rx_fifo after disable stream
Jon Hunter
jonathanh at nvidia.com
Thu Oct 24 18:12:54 CEST 2019
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 at codethink.co.uk>
> ---
> 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 at nvidia.com>
Thanks!
Jon
--
nvpublic
More information about the Alsa-devel
mailing list