27 Feb
2020
27 Feb
'20
1:35 a.m.
Hi Pierre-Louis
@@ -1226,11 +1225,7 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream) /* apply codec digital mute */ for_each_rtd_codec_dai(rtd, i, codec_dai) {
int playback_active = codec_dai->stream_active[SNDRV_PCM_STREAM_PLAYBACK];
int capture_active = codec_dai->stream_active[SNDRV_PCM_STREAM_CAPTURE];
if ((playback && playback_active == 1) ||
(!playback && capture_active == 1))
if (codec_dai->active == 1)
nit-pick: we have two tests in soc-pcm.c
if (codec_dai->active) if (codec_dai->active == 1)
The two are functionality equivalent but it'd be good to choose one version - or possibly use 'active' as a boolean.
In my understanding, dai->active can be 0/1/2. But yes, we want to call mute if codec_dai is working
/* Call Mute if Codec DAI is working */ if (codec_dai->active)
/* Call Mute if Codec DAI is used only for Playback or Capture */ if (codec_dai->active == 1)
Thank you for your help !! Best regards --- Kuninori Morimoto