|
@@ -383,8 +383,7 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
|
|
|
/* Muting the DAC suppresses artifacts caused during digital
|
|
|
* shutdown, for example from stopping clocks.
|
|
|
*/
|
|
|
- if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
|
|
|
- snd_soc_dai_digital_mute(codec_dai, 1);
|
|
|
+ snd_soc_dai_digital_mute(codec_dai, 1, substream->stream);
|
|
|
|
|
|
if (cpu_dai->driver->ops->shutdown)
|
|
|
cpu_dai->driver->ops->shutdown(substream, cpu_dai);
|
|
@@ -488,7 +487,7 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream)
|
|
|
snd_soc_dapm_stream_event(rtd, substream->stream,
|
|
|
SND_SOC_DAPM_STREAM_START);
|
|
|
|
|
|
- snd_soc_dai_digital_mute(codec_dai, 0);
|
|
|
+ snd_soc_dai_digital_mute(codec_dai, 0, substream->stream);
|
|
|
|
|
|
out:
|
|
|
mutex_unlock(&rtd->pcm_mutex);
|
|
@@ -586,7 +585,7 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
|
|
|
|
|
|
/* apply codec digital mute */
|
|
|
if (!codec->active)
|
|
|
- snd_soc_dai_digital_mute(codec_dai, 1);
|
|
|
+ snd_soc_dai_digital_mute(codec_dai, 1, substream->stream);
|
|
|
|
|
|
/* free any machine hw params */
|
|
|
if (rtd->dai_link->ops && rtd->dai_link->ops->hw_free)
|