Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94774b28 authored by Troy Kisky's avatar Troy Kisky Committed by Mark Brown
Browse files

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: default avatarTroy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: default avatarMartin Ambrose <martin@ti.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 6c20c807
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -574,10 +574,6 @@ static int davinci_i2s_prepare(struct snd_pcm_substream *substream,
	struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai);
	int playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
	davinci_mcbsp_stop(dev, playback);
	if ((dev->pcr & DAVINCI_MCBSP_PCR_FSXM) == 0) {
		/* codec is master */
		davinci_mcbsp_start(dev, substream);
	}
	return 0;
}

@@ -587,8 +583,6 @@ static int davinci_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
	struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai);
	int ret = 0;
	int playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
	if ((dev->pcr & DAVINCI_MCBSP_PCR_FSXM) == 0)
		return 0;	/* return if codec is master */

	switch (cmd) {
	case SNDRV_PCM_TRIGGER_START: