On Tue, Mar 02, 2021 at 10:48:07AM +0900, Kuninori Morimoto wrote: > -static bool soc_pcm_has_symmetry(struct snd_pcm_substream *substream) > +static void soc_pcm_care_symmetry(struct snd_pcm_substream *substream) > { > struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); > struct snd_soc_dai_link *link = rtd->dai_link; > @@ -423,7 +423,8 @@ static bool soc_pcm_has_symmetry(struct snd_pcm_substream *substream) > dai->driver->symmetric_channels || > dai->driver->symmetric_sample_bits; > > - return symmetry; > + if (symmetry) > + substream->runtime->hw.info |= SNDRV_PCM_INFO_JOINT_DUPLEX; The idea makes sense but I'm not sure about the name here - perhaps soc_pcm_update_symmetry() might work better? It's not super clear but does look more natural. > } > > static void soc_pcm_set_msb(struct snd_pcm_substream *substream, int bits) > @@ -735,8 +736,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) > /* Check that the codec and cpu DAIs are compatible */ > soc_pcm_init_runtime_hw(substream); > > - if (soc_pcm_has_symmetry(substream)) > - runtime->hw.info |= SNDRV_PCM_INFO_JOINT_DUPLEX; > + soc_pcm_care_symmetry(substream); > > ret = -EINVAL; > if (!runtime->hw.rates) { > @@ -1681,8 +1681,7 @@ static int dpcm_apply_symmetry(struct snd_pcm_substream *fe_substream, > int i; > > /* apply symmetry for FE */ > - if (soc_pcm_has_symmetry(fe_substream)) > - fe_substream->runtime->hw.info |= SNDRV_PCM_INFO_JOINT_DUPLEX; > + soc_pcm_care_symmetry(fe_substream); > > for_each_rtd_cpu_dais (fe, i, fe_cpu_dai) { > /* Symmetry only applies if we've got an active stream. */ > @@ -1707,8 +1706,7 @@ static int dpcm_apply_symmetry(struct snd_pcm_substream *fe_substream, > if (rtd->dai_link->be_hw_params_fixup) > continue; > > - if (soc_pcm_has_symmetry(be_substream)) > - be_substream->runtime->hw.info |= SNDRV_PCM_INFO_JOINT_DUPLEX; > + soc_pcm_care_symmetry(be_substream); > > /* Symmetry only applies if we've got an active stream. */ > for_each_rtd_dais(rtd, i, dai) { > -- > 2.25.1 >
Attachment:
signature.asc
Description: PGP signature