Commit 6d3efa40 authored by Dmitry Eremin-Solenikov's avatar Dmitry Eremin-Solenikov Committed by Mark Brown

ASoC: pxa: prepare/unprepare clocks in pxa-ssp

Change clk_enable/disable() calls to clk_prepare_enable() and
clk_disable_unrepapre().
Signed-off-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 45394416
...@@ -97,7 +97,7 @@ static int pxa_ssp_startup(struct snd_pcm_substream *substream, ...@@ -97,7 +97,7 @@ static int pxa_ssp_startup(struct snd_pcm_substream *substream,
int ret = 0; int ret = 0;
if (!cpu_dai->active) { if (!cpu_dai->active) {
clk_enable(ssp->clk); clk_prepare_enable(ssp->clk);
pxa_ssp_disable(ssp); pxa_ssp_disable(ssp);
} }
...@@ -121,7 +121,7 @@ static void pxa_ssp_shutdown(struct snd_pcm_substream *substream, ...@@ -121,7 +121,7 @@ static void pxa_ssp_shutdown(struct snd_pcm_substream *substream,
if (!cpu_dai->active) { if (!cpu_dai->active) {
pxa_ssp_disable(ssp); pxa_ssp_disable(ssp);
clk_disable(ssp->clk); clk_disable_unprepare(ssp->clk);
} }
kfree(snd_soc_dai_get_dma_data(cpu_dai, substream)); kfree(snd_soc_dai_get_dma_data(cpu_dai, substream));
...@@ -136,7 +136,7 @@ static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai) ...@@ -136,7 +136,7 @@ static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai)
struct ssp_device *ssp = priv->ssp; struct ssp_device *ssp = priv->ssp;
if (!cpu_dai->active) if (!cpu_dai->active)
clk_enable(ssp->clk); clk_prepare_enable(ssp->clk);
priv->cr0 = __raw_readl(ssp->mmio_base + SSCR0); priv->cr0 = __raw_readl(ssp->mmio_base + SSCR0);
priv->cr1 = __raw_readl(ssp->mmio_base + SSCR1); priv->cr1 = __raw_readl(ssp->mmio_base + SSCR1);
...@@ -144,7 +144,7 @@ static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai) ...@@ -144,7 +144,7 @@ static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai)
priv->psp = __raw_readl(ssp->mmio_base + SSPSP); priv->psp = __raw_readl(ssp->mmio_base + SSPSP);
pxa_ssp_disable(ssp); pxa_ssp_disable(ssp);
clk_disable(ssp->clk); clk_disable_unprepare(ssp->clk);
return 0; return 0;
} }
...@@ -154,7 +154,7 @@ static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai) ...@@ -154,7 +154,7 @@ static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai)
struct ssp_device *ssp = priv->ssp; struct ssp_device *ssp = priv->ssp;
uint32_t sssr = SSSR_ROR | SSSR_TUR | SSSR_BCE; uint32_t sssr = SSSR_ROR | SSSR_TUR | SSSR_BCE;
clk_enable(ssp->clk); clk_prepare_enable(ssp->clk);
__raw_writel(sssr, ssp->mmio_base + SSSR); __raw_writel(sssr, ssp->mmio_base + SSSR);
__raw_writel(priv->cr0 & ~SSCR0_SSE, ssp->mmio_base + SSCR0); __raw_writel(priv->cr0 & ~SSCR0_SSE, ssp->mmio_base + SSCR0);
...@@ -165,7 +165,7 @@ static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai) ...@@ -165,7 +165,7 @@ static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai)
if (cpu_dai->active) if (cpu_dai->active)
pxa_ssp_enable(ssp); pxa_ssp_enable(ssp);
else else
clk_disable(ssp->clk); clk_disable_unprepare(ssp->clk);
return 0; return 0;
} }
...@@ -256,11 +256,11 @@ static int pxa_ssp_set_dai_sysclk(struct snd_soc_dai *cpu_dai, ...@@ -256,11 +256,11 @@ static int pxa_ssp_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
/* The SSP clock must be disabled when changing SSP clock mode /* The SSP clock must be disabled when changing SSP clock mode
* on PXA2xx. On PXA3xx it must be enabled when doing so. */ * on PXA2xx. On PXA3xx it must be enabled when doing so. */
if (ssp->type != PXA3xx_SSP) if (ssp->type != PXA3xx_SSP)
clk_disable(ssp->clk); clk_disable_unprepare(ssp->clk);
val = pxa_ssp_read_reg(ssp, SSCR0) | sscr0; val = pxa_ssp_read_reg(ssp, SSCR0) | sscr0;
pxa_ssp_write_reg(ssp, SSCR0, val); pxa_ssp_write_reg(ssp, SSCR0, val);
if (ssp->type != PXA3xx_SSP) if (ssp->type != PXA3xx_SSP)
clk_enable(ssp->clk); clk_prepare_enable(ssp->clk);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment