diff options
author | Giridhar Maruthy <giridhar.maruthy@linaro.org> | 2011-08-30 17:17:26 +0530 |
---|---|---|
committer | Tushar Behera <tushar.behera@linaro.org> | 2012-06-20 11:12:44 +0530 |
commit | db574c5238546e99e55514e44462c0b1b54f6d12 (patch) | |
tree | d54f5d51c95ae60bdb398fbf54580c1540e98cc0 | |
parent | 9bab48993c04972045d1c400de0b0840b54bf6df (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.c | 2 |
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; |