aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2010-10-03 17:44:19 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-10-04 20:55:17 -0400
commit94774b28490daf514a4e62fd746315b5089158ff (patch)
treeddb491342f3f18ac5ee78aa5c0b387f5a0d9ecfa /sound
parent6c20c807cf5a13f61193d39bb718f7a9b5df3813 (diff)
ALSA: ASoc: DaVinci Delay start of ASP to trigger
Since only 4 mainline ASoC codecs support the trigger callback, we cannot rely upon them stopping the frame clock if they are master and must assume it is running even if the sound is paused. Thus we cannot start the ASP until the trigger method. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: Martin Ambrose <martin@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/davinci/davinci-i2s.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
index 9f8b6c556866..d46b545d41f4 100644
--- a/sound/soc/davinci/davinci-i2s.c
+++ b/sound/soc/davinci/davinci-i2s.c
@@ -574,10 +574,6 @@ static int davinci_i2s_prepare(struct snd_pcm_substream *substream,
574 struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai); 574 struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai);
575 int playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK); 575 int playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
576 davinci_mcbsp_stop(dev, playback); 576 davinci_mcbsp_stop(dev, playback);
577 if ((dev->pcr & DAVINCI_MCBSP_PCR_FSXM) == 0) {
578 /* codec is master */
579 davinci_mcbsp_start(dev, substream);
580 }
581 return 0; 577 return 0;
582} 578}
583 579
@@ -587,8 +583,6 @@ static int davinci_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
587 struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai); 583 struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai);
588 int ret = 0; 584 int ret = 0;
589 int playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK); 585 int playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
590 if ((dev->pcr & DAVINCI_MCBSP_PCR_FSXM) == 0)
591 return 0; /* return if codec is master */
592 586
593 switch (cmd) { 587 switch (cmd) {
594 case SNDRV_PCM_TRIGGER_START: 588 case SNDRV_PCM_TRIGGER_START: