aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPadmavathi Venna <padma.v@samsung.com>2013-01-24 18:05:31 +0530
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-01-26 15:24:51 +0800
commit2d77828d9904494d3c7424189ee38cc07950df5e (patch)
tree8aec784777f02ba7f1f23f799a7b279d8eb94b19
parentASoC: samsung: Rename samsung i2s secondary device name (diff)
downloadlinux-dev-2d77828d9904494d3c7424189ee38cc07950df5e.tar.xz
linux-dev-2d77828d9904494d3c7424189ee38cc07950df5e.zip
ASoC: Samsung: Add I2S S/W RST in startup function
I2S module need to be reset after S2R. Keeping the S/W rst control part in resume didn't help in playing audio after resume. So this patch adds S/W RST control part in startup function which gets triggered for every new audio stream playback. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Signed-off-by: R. Chandrasekar <rcsekar@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/samsung/i2s.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index ed5eeae6a48f..808df74c3248 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -656,6 +656,9 @@ static int i2s_startup(struct snd_pcm_substream *substream,
/* Enforce set_sysclk in Master mode */
i2s->rclk_srcrate = 0;
+ if (!any_active(i2s) && (i2s->quirks & QUIRK_NEED_RSTCLR))
+ writel(CON_RSTCLR, i2s->addr + I2SCON);
+
spin_unlock_irqrestore(&lock, flags);
return 0;