Re: [PATCH] ASoC: core: restore dpcm flags semantics

From: Mark Brown
Date: Thu Jul 30 2020 - 14:13:20 EST


On Thu, Jul 30, 2020 at 11:04:53AM +0200, Jerome Brunet wrote:

> Carrying redundant information makes things complex and error prone.
> If you really want to update this, here is another proposition:
> * Removing snd_soc_dai_link_set_capabilities()
> * Removing both flags completely
> * Let ASoC figure out what is needed based on the components present.

My understanding is that that was broadly where we were headed with this
stuff - snd_soc_dai_link_set_capabilities() is trying to figure things
out from the components already, it's storing the flags as a cache but
could be modified so we use it every time we need a value.

>
> >
> >>
> >> Cc: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> >> Signed-off-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
> >> ---
> >>
> >> Hi Mark,
> >>
> >> Because b73287f0b0745 ('ASoC: soc-pcm: dpcm: fix playback/capture checks')
> >> introduced more than one problem, the change
> >> "ASoC: core: use less strict tests for dailink capabilities" [0] is still
> >> necessary but the change of semantic remains a problem with it.
> >>
> >> This patch applies on top of it.
> >>
> >> sound/soc/soc-pcm.c | 14 --------------
> >> 1 file changed, 14 deletions(-)
> >>
> >> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> >> index 00ac1cbf6f88..2e205b738eae 100644
> >> --- a/sound/soc/soc-pcm.c
> >> +++ b/sound/soc/soc-pcm.c
> >> @@ -2749,13 +2749,6 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num)
> >> break;
> >> }
> >> }
> >> -
> >> - if (!playback) {
> >> - dev_err(rtd->card->dev,
> >> - "No CPU DAIs support playback for stream %s\n",
> >> - rtd->dai_link->stream_name);
> >> - return -EINVAL;
> >> - }
> >> }
> >> if (rtd->dai_link->dpcm_capture) {
> >> stream = SNDRV_PCM_STREAM_CAPTURE;
> >> @@ -2766,13 +2759,6 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num)
> >> break;
> >> }
> >> }
> >> -
> >> - if (!capture) {
> >> - dev_err(rtd->card->dev,
> >> - "No CPU DAIs support capture for stream %s\n",
> >> - rtd->dai_link->stream_name);
> >> - return -EINVAL;
> >> - }
> >> }
> >> } else {
> >> /* Adapt stream for codec2codec links */
> >>
>

Attachment: signature.asc
Description: PGP signature