On 11/4/2024 08:35, Mukunda,Vijendar wrote:
On 04/11/24 19:52, Mario Limonciello wrote:
On 11/4/2024 03:13, Venkata Prasad Potturu wrote:
Stream name mismatch with topology file causes tplg load failure.
As SOF framework assigns dailink->stream name, overriding stream name
other than link name causes SOF dmic component load failure.
[ 35.474995] snd_sof_amd_acp70 0000:c4:00.5: error: can't connect DAI
ACPDMIC0.IN stream acp-dmic-codec
[ 35.475001] snd_sof_amd_acp70 0000:c4:00.5: failed to add widget type 28
name : ACPDMIC0.IN stream acp-dmic-codec
[ 35.475013] sof_mach acp70-dsp: ASoC: failed to load widget ACPDMIC0.IN
[ 35.475018] sof_mach acp70-dsp: ASoC: topology: could not load header: -22
[ 35.475072] snd_sof_amd_acp70 0000:c4:00.5: error: tplg component load
failed -22
[ 35.475083] snd_sof_amd_acp70 0000:c4:00.5: error: failed to load DSP
topology -22
[ 35.475090] snd_sof_amd_acp70 0000:c4:00.5: ASoC: error at
snd_soc_component_probe on 0000:c4:00.5: -22
[ 35.475117] sof_mach acp70-dsp: ASoC: failed to instantiate card -22
[ 35.475254] sof_mach acp70-dsp: error -EINVAL: Failed to register
card(sof-acp70-dsp)
[ 35.475261] sof_mach acp70-dsp: probe with driver sof_mach failed with
error -22
Fixes: b2385de2ae11 ("ASoC: amd: acp: Add stream name to ACP PDM DMIC devices")
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@xxxxxxx>
Thanks. I was aiming to sort out (null) from `arecord -l` but functionality is
more important.
Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx>
Mark,
Up to you but alternatively, you can also drop my existing patch and force
push your for-next branch.
@Mario: Your changes are required for Legacy machine driver.
This patch can go as a fix on top of your commit.
Thanks!
---
sound/soc/amd/acp/acp-mach-common.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/sound/soc/amd/acp/acp-mach-common.c
b/sound/soc/amd/acp/acp-mach-common.c
index 67aa0ad83486..d314253207d5 100644
--- a/sound/soc/amd/acp/acp-mach-common.c
+++ b/sound/soc/amd/acp/acp-mach-common.c
@@ -1561,7 +1561,6 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
if (drv_data->dmic_cpu_id == DMIC) {
links[i].name = "acp-dmic-codec";
- links[i].stream_name = "DMIC capture";
links[i].id = DMIC_BE_ID;
links[i].codecs = dmic_codec;
links[i].num_codecs = ARRAY_SIZE(dmic_codec);