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

From: Pierre-Louis Bossart
Date: Wed Dec 04 2019 - 23:10:48 EST




On 12/4/19 5:29 PM, Sridharan, Ranjani wrote:
On Wed, Dec 4, 2019 at 7:16 AM Daniel Baluta <daniel.baluta@xxxxxxx> 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 <daniel.baluta@xxxxxxx>
---
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...