[alsa-devel] [PATCH] ASoC: soc-core: Set dpcm_playback / dpcm_capture
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@nxp.com --- 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;
/* override any BE fixups */ dai_link->be_hw_params_fixup =
On Wed, Dec 4, 2019 at 7:16 AM Daniel Baluta daniel.baluta@nxp.com 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@nxp.com
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.
Thanks, Ranjani
/* override any BE fixups */ dai_link->be_hw_params_fixup =
-- 2.17.1
Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On 12/4/19 5:29 PM, Sridharan, Ranjani wrote:
On Wed, Dec 4, 2019 at 7:16 AM Daniel Baluta daniel.baluta@nxp.com 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@nxp.com
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...
On Thu, Dec 5, 2019 at 6:11 AM Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com wrote:
On 12/4/19 5:29 PM, Sridharan, Ranjani wrote:
On Wed, Dec 4, 2019 at 7:16 AM Daniel Baluta daniel.baluta@nxp.com 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@nxp.com
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.
The patch
ASoC: soc-core: Set dpcm_playback / dpcm_capture
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
From 218fe9b7ec7f32c10a07539365488d80af7b0084 Mon Sep 17 00:00:00 2001
From: Daniel Baluta daniel.baluta@nxp.com Date: Wed, 4 Dec 2019 17:13:33 +0200 Subject: [PATCH] ASoC: soc-core: Set dpcm_playback / dpcm_capture
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@nxp.com Link: https://lore.kernel.org/r/20191204151333.26625-1-daniel.baluta@nxp.com Signed-off-by: Mark Brown broonie@kernel.org --- 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 1c84ff1a5bf9..6050c4c62fe8 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1871,6 +1871,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;
/* override any BE fixups */ dai_link->be_hw_params_fixup =
participants (5)
-
Daniel Baluta
-
Daniel Baluta
-
Mark Brown
-
Pierre-Louis Bossart
-
Sridharan, Ranjani