From 3b9c088aeabf6f1d0e92baa4359fc166fbb0050e Mon Sep 17 00:00:00 2001 From: Shengjiu Wang Date: Wed, 29 Apr 2026 18:00:23 +0800 Subject: [PATCH] ASoC: fsl-asoc-card: enable dpcm_merged_chan flag for ASRC frontend When using ASRC in DPCM mode, the backend DAI (codec) may have channel constraints that differ from the frontend. For example, the ASRC can support 1-8 channels, but the codec might only support stereo (2 channels). Without dpcm_merged_chan, userspace can open the frontend with unsupported channel counts, leading to errors when the backend is configured. Enable dpcm_merged_chan to merge backend channel constraints to the frontend, ensuring userspace only sees valid channel configurations. This fixes issues where applications attempt to use channel counts that the backend codec doesn't support. Signed-off-by: Shengjiu Wang Link: https://patch.msgid.link/20260429100028.2739711-2-shengjiu.wang@nxp.com Signed-off-by: Mark Brown --- sound/soc/fsl/fsl-asoc-card.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c index 70a6159430ed..41cd2fc2ea56 100644 --- a/sound/soc/fsl/fsl-asoc-card.c +++ b/sound/soc/fsl/fsl-asoc-card.c @@ -989,6 +989,7 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) if (asrc_pdev) { /* DPCM DAI Links only if ASRC exists */ + priv->dai_link[1].dpcm_merged_chan = 1; priv->dai_link[1].cpus->of_node = asrc_np; priv->dai_link[1].platforms->of_node = asrc_np; for_each_link_codecs((&(priv->dai_link[2])), codec_idx, codec_comp) {