summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra_i2s.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-07-09 09:56:43 (GMT)
committerTakashi Iwai <tiwai@suse.de>2011-07-09 09:56:43 (GMT)
commite8fd86efaa09445ca1afc1aea08d4666c966ed03 (patch)
treee6b42da2811b9ca49529195a3a66f7f2ddebe2f3 /sound/soc/tegra/tegra_i2s.c
parentabaead6ac55dbda8b4bae40251d69dc3f0c49b1c (diff)
parent18361bbe3180eca62796188d62aefac1519f4c83 (diff)
downloadlinux-e8fd86efaa09445ca1afc1aea08d4666c966ed03.tar.xz
Merge branch 'fix/asoc' into for-linus
Diffstat (limited to 'sound/soc/tegra/tegra_i2s.c')
-rw-r--r--sound/soc/tegra/tegra_i2s.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra_i2s.c b/sound/soc/tegra/tegra_i2s.c
index 6b817e2..95f03c1 100644
--- a/sound/soc/tegra/tegra_i2s.c
+++ b/sound/soc/tegra/tegra_i2s.c
@@ -222,12 +222,18 @@ static int tegra_i2s_hw_params(struct snd_pcm_substream *substream,
if (i2sclock % (2 * srate))
reg |= TEGRA_I2S_TIMING_NON_SYM_ENABLE;
+ if (!i2s->clk_refs)
+ clk_enable(i2s->clk_i2s);
+
tegra_i2s_write(i2s, TEGRA_I2S_TIMING, reg);
tegra_i2s_write(i2s, TEGRA_I2S_FIFO_SCR,
TEGRA_I2S_FIFO_SCR_FIFO2_ATN_LVL_FOUR_SLOTS |
TEGRA_I2S_FIFO_SCR_FIFO1_ATN_LVL_FOUR_SLOTS);
+ if (!i2s->clk_refs)
+ clk_disable(i2s->clk_i2s);
+
return 0;
}