> 1. The original issue at my end was not just a configuration redundancy. > I realize now that with more stream addition following error print is seen. > "ASoC: too many users playback at open 4" > > This is because the max DPCM users is capped at 8. Increasing this > may help (need to see what number is better), but does not address the > redundancy problem. Going back to this DPCM_MAX_BE_USERS definition, it seems rather arbitrary and not so useful indeed. /* first time the dpcm is open ? */ if (be->dpcm[stream].users == DPCM_MAX_BE_USERS) { dev_err(be->dev, "ASoC: too many users %s at open %d\n", stream ? "capture" : "playback", be->dpcm[stream].state); continue; } The comment is no longer aligned with the code, wondering if this is a feature or a bug. There's no reason to arbitrarily restrict the number of users of a BE, or the check would need to use platform-specific information such as the number of inputs/outputs supported by a mixer/demux. Maybe Morimoto-san can comment since this was added in: 1db19c151819 ('ASoC: soc-pcm: fixup dpcm_be_dai_startup() user count') We're not done with soc-pcm.c cleanups :-)