mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 19:47:08 +02:00
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 <shengjiu.wang@nxp.com> Link: https://patch.msgid.link/20260429100028.2739711-2-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
254f49634e
commit
3b9c088aea
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user