summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorGiridhar Maruthy <giridhar.maruthy@linaro.org>2011-08-30 17:17:26 +0530
committerTushar Behera <tushar.behera@linaro.org>2012-08-16 16:48:19 +0530
commit1cd706f8ca2022bcf59a770a0e40f6a10c084df1 (patch)
treee0ee4ad33d0cb780d6c2d4346f509122de4c39e3 /sound
parent8b07b5d6b5a68d6e2a0b55dd0bccde80587129fa (diff)
ARM: EXYNOS4: Reset I2S in resume if not active
After suspend-resume, the I2S registers will have invalid values. In case I2S was active during suspend, the registers will be saved. If I2S was not active during suspend, registers wont be saved and a reset will be done at resume. Signed-off-by: Giridhar Maruthy <giridhar.maruthy@linaro.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/samsung/i2s.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index cdc6cea62edc..f754e52096f5 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -851,6 +851,8 @@ static int i2s_resume(struct snd_soc_dai *dai)
writel(i2s->suspend_i2scon, i2s->addr + I2SCON);
writel(i2s->suspend_i2smod, i2s->addr + I2SMOD);
writel(i2s->suspend_i2spsr, i2s->addr + I2SPSR);
+ } else {
+ writel(CON_RSTCLR, i2s->addr + I2SCON);
}
return 0;