2019-12-05 04:11:40

by Pierre-Louis Bossart

[permalink] [raw]
Subject: Re: [alsa-devel] [PATCH] ASoC: soc-core: Set dpcm_playback / dpcm_capture



On 12/4/19 5:29 PM, Sridharan, Ranjani wrote:
> On Wed, Dec 4, 2019 at 7:16 AM Daniel Baluta <[email protected]> wrote:
>
>> When converting a normal link to a DPCM link we need
>> to set dpcm_playback / dpcm_capture otherwise playback/capture
>> streams will not be created resulting in errors like this:
>>
>> [ 36.039111] sai1-wm8960-hifi: ASoC: no backend playback stream
>>
>> Fixes: a655de808cbde ("ASoC: core: Allow topology to override machine
>> driver FE DAI link config")
>> Signed-off-by: Daniel Baluta <[email protected]>
>> ---
>> sound/soc/soc-core.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
>> index 977a7bfad519..f89cf9d0860c 100644
>> --- a/sound/soc/soc-core.c
>> +++ b/sound/soc/soc-core.c
>> @@ -1872,6 +1872,8 @@ static void soc_check_tplg_fes(struct snd_soc_card
>> *card)
>>
>> /* convert non BE into BE */
>> dai_link->no_pcm = 1;
>> + dai_link->dpcm_playback = 1;
>> + dai_link->dpcm_capture = 1;
>>
> Hi Daniel,
>
> Typically, for Intel platforms, this information comes from the machine
> driver and there are some DAI links that have either playback or capture
> set. But this change would set both for all DAI links.
> Not sure if this is the right thing to do.

I am with Ranjani, I don't get why we'd set the full-duplex mode by
default. but to be honest I never quite understood what this code is
supposed to do...


2019-12-05 09:18:58

by Daniel Baluta

[permalink] [raw]
Subject: Re: [alsa-devel] [PATCH] ASoC: soc-core: Set dpcm_playback / dpcm_capture

On Thu, Dec 5, 2019 at 6:11 AM Pierre-Louis Bossart
<[email protected]> wrote:
>
>
>
> On 12/4/19 5:29 PM, Sridharan, Ranjani wrote:
> > On Wed, Dec 4, 2019 at 7:16 AM Daniel Baluta <[email protected]> wrote:
> >
> >> When converting a normal link to a DPCM link we need
> >> to set dpcm_playback / dpcm_capture otherwise playback/capture
> >> streams will not be created resulting in errors like this:
> >>
> >> [ 36.039111] sai1-wm8960-hifi: ASoC: no backend playback stream
> >>
> >> Fixes: a655de808cbde ("ASoC: core: Allow topology to override machine
> >> driver FE DAI link config")
> >> Signed-off-by: Daniel Baluta <[email protected]>
> >> ---
> >> sound/soc/soc-core.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> >> index 977a7bfad519..f89cf9d0860c 100644
> >> --- a/sound/soc/soc-core.c
> >> +++ b/sound/soc/soc-core.c
> >> @@ -1872,6 +1872,8 @@ static void soc_check_tplg_fes(struct snd_soc_card
> >> *card)
> >>
> >> /* convert non BE into BE */
> >> dai_link->no_pcm = 1;
> >> + dai_link->dpcm_playback = 1;
> >> + dai_link->dpcm_capture = 1;
> >>
> > Hi Daniel,
> >
> > Typically, for Intel platforms, this information comes from the machine
> > driver and there are some DAI links that have either playback or capture
> > set. But this change would set both for all DAI links.
> > Not sure if this is the right thing to do.
>
> I am with Ranjani, I don't get why we'd set the full-duplex mode by
> default. but to be honest I never quite understood what this code is
> supposed to do...

Indeed I need to figure out when exactly to enable playback/capture. I
was hoping
Liam will chime in, as this was in the original patch he sent months ago.