From 2b8e5b84b99bbd3d63e9c26a0dcf3acc2f2fd15a Mon Sep 17 00:00:00 2001 From: Dipesh Gandhi Date: Fri, 18 Mar 2016 16:49:01 +0530 Subject: [PATCH] ASoC: tegra-alt: i2s: Move sw-reset to PRE_PMU Moving sw-reset at PRE_PMU stage where we reset i2s controller it start of playback/ capture to clean up fifo's in case last run was not good. Bug 1736992 Bug 200181219 Change-Id: I716eb736242440360dc1e13426a69adfac08c6ed Signed-off-by: Dipesh Gandhi Reviewed-on: http://git-master/r/1112855 Reviewed-by: Nitin Pai --- sound/soc/tegra-alt/tegra210_i2s_alt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sound/soc/tegra-alt/tegra210_i2s_alt.c b/sound/soc/tegra-alt/tegra210_i2s_alt.c index ebad08ef..c7444ab6 100644 --- a/sound/soc/tegra-alt/tegra210_i2s_alt.c +++ b/sound/soc/tegra-alt/tegra210_i2s_alt.c @@ -743,10 +743,10 @@ static const struct snd_soc_dapm_widget tegra210_i2s_widgets[] = { 0, 0), SND_SOC_DAPM_AIF_IN_E("DAP RX", NULL, 0, TEGRA210_I2S_AXBAR_TX_ENABLE, TEGRA210_I2S_AXBAR_TX_EN_SHIFT, 0, - tegra210_i2s_rx_stop, SND_SOC_DAPM_POST_PMD), + tegra210_i2s_rx_stop, SND_SOC_DAPM_PRE_PMU), SND_SOC_DAPM_AIF_OUT_E("DAP TX", NULL, 0, TEGRA210_I2S_AXBAR_RX_ENABLE, TEGRA210_I2S_AXBAR_RX_EN_SHIFT, 0, - tegra210_i2s_tx_stop, SND_SOC_DAPM_POST_PMD), + tegra210_i2s_tx_stop, SND_SOC_DAPM_PRE_PMU), }; static const struct snd_soc_dapm_route tegra210_i2s_routes[] = { @@ -852,6 +852,8 @@ static bool tegra210_i2s_volatile_reg(struct device *dev, unsigned int reg) { switch (reg) { case TEGRA210_I2S_AXBAR_RX_INT_STATUS: + case TEGRA210_I2S_AXBAR_RX_STATUS: + case TEGRA210_I2S_AXBAR_TX_STATUS: case TEGRA210_I2S_AXBAR_TX_INT_STATUS: case TEGRA210_I2S_INT_STATUS: case TEGRA210_I2S_AXBAR_RX_SOFT_RESET: