Skip to content

Commit

Permalink
ASoC: compress: Only mute playback streams
Browse files Browse the repository at this point in the history
Otherwise capture activity on a compressed DAI would mute any playback
on the same DAI.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
  • Loading branch information
Mark Brown committed Feb 7, 2013
1 parent 1f88eb0 commit e38b9b7
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions sound/soc/soc-compress.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,12 @@ static int soc_compr_free(struct snd_compr_stream *cstream)
if (cstream->direction == SND_COMPRESS_PLAYBACK) {
cpu_dai->playback_active--;
codec_dai->playback_active--;
snd_soc_dai_digital_mute(codec_dai, 1);
} else {
cpu_dai->capture_active--;
codec_dai->capture_active--;
}

snd_soc_dai_digital_mute(codec_dai, 1);

cpu_dai->active--;
codec_dai->active--;
codec->active--;
Expand Down Expand Up @@ -179,10 +178,16 @@ static int soc_compr_trigger(struct snd_compr_stream *cstream, int cmd)
goto out;
}

if (cmd == SNDRV_PCM_TRIGGER_START)
snd_soc_dai_digital_mute(codec_dai, 0);
else if (cmd == SNDRV_PCM_TRIGGER_STOP)
snd_soc_dai_digital_mute(codec_dai, 1);
if (cstream->direction == SND_COMPRESS_PLAYBACK) {
switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
snd_soc_dai_digital_mute(codec_dai, 0);
break;
case SNDRV_PCM_TRIGGER_STOP:
snd_soc_dai_digital_mute(codec_dai, 1);
break;
}
}

out:
mutex_unlock(&rtd->pcm_mutex);
Expand Down

0 comments on commit e38b9b7

Please sign in to comment.