diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-03-08 15:21:04 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-03-08 15:21:04 -0500 |
commit | 988addf82e4c03739375279de73929580a2d4a6a (patch) | |
tree | 989ae1cd4e264bbad80c65f04480486246e7b9f3 /sound/soc/pxa/pxa-ssp.c | |
parent | 004c1c7096659d352b83047a7593e91d8a30e3c5 (diff) | |
parent | 25cf84cf377c0aae5dbcf937ea89bc7893db5176 (diff) |
Merge branch 'origin' into devel-stable
Conflicts:
arch/arm/mach-mx2/devices.c
arch/arm/mach-mx2/devices.h
sound/soc/pxa/pxa-ssp.c
Diffstat (limited to 'sound/soc/pxa/pxa-ssp.c')
-rw-r--r-- | sound/soc/pxa/pxa-ssp.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c index cf00df9c40f4..9e95e5117c88 100644 --- a/sound/soc/pxa/pxa-ssp.c +++ b/sound/soc/pxa/pxa-ssp.c | |||
@@ -155,7 +155,7 @@ static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai) | |||
155 | struct ssp_device *ssp = priv->ssp; | 155 | struct ssp_device *ssp = priv->ssp; |
156 | 156 | ||
157 | if (!cpu_dai->active) | 157 | if (!cpu_dai->active) |
158 | return 0; | 158 | clk_enable(ssp->clk); |
159 | 159 | ||
160 | priv->cr0 = __raw_readl(ssp->mmio_base + SSCR0); | 160 | priv->cr0 = __raw_readl(ssp->mmio_base + SSCR0); |
161 | priv->cr1 = __raw_readl(ssp->mmio_base + SSCR1); | 161 | priv->cr1 = __raw_readl(ssp->mmio_base + SSCR1); |
@@ -173,18 +173,19 @@ static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai) | |||
173 | struct ssp_device *ssp = priv->ssp; | 173 | struct ssp_device *ssp = priv->ssp; |
174 | uint32_t sssr = SSSR_ROR | SSSR_TUR | SSSR_BCE; | 174 | uint32_t sssr = SSSR_ROR | SSSR_TUR | SSSR_BCE; |
175 | 175 | ||
176 | if (!cpu_dai->active) | ||
177 | return 0; | ||
178 | |||
179 | clk_enable(ssp->clk); | 176 | clk_enable(ssp->clk); |
180 | 177 | ||
181 | __raw_writel(sssr, ssp->mmio_base + SSSR); | 178 | __raw_writel(sssr, ssp->mmio_base + SSSR); |
182 | |||
183 | __raw_writel(priv->cr0 & ~SSCR0_SSE, ssp->mmio_base + SSCR0); | 179 | __raw_writel(priv->cr0 & ~SSCR0_SSE, ssp->mmio_base + SSCR0); |
184 | __raw_writel(priv->cr1, ssp->mmio_base + SSCR1); | 180 | __raw_writel(priv->cr1, ssp->mmio_base + SSCR1); |
185 | __raw_writel(priv->to, ssp->mmio_base + SSTO); | 181 | __raw_writel(priv->to, ssp->mmio_base + SSTO); |
186 | __raw_writel(priv->psp, ssp->mmio_base + SSPSP); | 182 | __raw_writel(priv->psp, ssp->mmio_base + SSPSP); |
187 | __raw_writel(priv->cr0 | SSCR0_SSE, ssp->mmio_base + SSCR0); | 183 | |
184 | if (cpu_dai->active) | ||
185 | ssp_enable(ssp); | ||
186 | else | ||
187 | clk_disable(ssp->clk); | ||
188 | |||
188 | return 0; | 189 | return 0; |
189 | } | 190 | } |
190 | 191 | ||