aboutsummaryrefslogtreecommitdiff
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-06-20 11:12:44 +0530
commitdb574c5238546e99e55514e44462c0b1b54f6d12 (patch)
treed54f5d51c95ae60bdb398fbf54580c1540e98cc0
parent9bab48993c04972045d1c400de0b0840b54bf6df (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>
-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 6ac7b8281a02..593a7366824e 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;