summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorXinyu Chen <Xinyu.Chen@freescale.com>2009-08-07 16:51:03 +0800
committerJustin Waters <justin.waters@timesys.com>2009-10-13 11:05:07 -0400
commita3e58123740aeab340fa7869bd2a7a504d6f7ec6 (patch)
treeaf8318fc89918bed2d964a64482e871e7f6bd3bb /sound
parentf179ef9dbe5df5d4c5223697d84cb5f4bf2351dc (diff)
ENGR00114989 MX35 SPDIF driver failed to play 48KHz audio
Due to the clock source changes, the osc audio clock is disabled by default. This cause SPDIF failed to play 48KHz/32KHz audio. Add osc audio clock node in the spdif platform data structure. And enable it when spdif probe. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/arm/mxc-alsa-spdif.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/arm/mxc-alsa-spdif.c b/sound/arm/mxc-alsa-spdif.c
index b322cbc2f40b..21c632365a85 100644
--- a/sound/arm/mxc-alsa-spdif.c
+++ b/sound/arm/mxc-alsa-spdif.c
@@ -1195,6 +1195,7 @@ static int snd_card_mxc_spdif_playback_open(struct snd_pcm_substream *substream)
spdif_data = chip->card->dev->platform_data;
/* enable tx clock */
clk_enable(spdif_data->spdif_clk);
+ clk_enable(spdif_data->spdif_audio_clk);
runtime = substream->runtime;
chip->s[SNDRV_PCM_STREAM_PLAYBACK].stream = substream;
@@ -1237,6 +1238,7 @@ static int snd_card_mxc_spdif_playback_close(struct snd_pcm_substream
spdif_intr_status();
spdif_intr_enable(INT_TXFIFO_RESYNC, 0);
spdif_tx_uninit();
+ clk_disable(spdif_data->spdif_audio_clk);
clk_disable(spdif_data->spdif_clk);
mxc_dma_free(chip->s[SNDRV_PCM_STREAM_PLAYBACK].dma_wchannel);
chip->s[SNDRV_PCM_STREAM_PLAYBACK].dma_wchannel = 0;