> > > > It's not only the mismatch but also the design limitation. According > > to the information from google, the board (samus) only uses two > > microphone so > > 3 or 4 channel recording are not supported. That's the reason we > > leverage the constraint from other machine driver (like > > kbl_da7219_max98357a.c) to remove the 3 and 4 channel recording option. > > The design limitation is already handled by the fact that the SSP operates in > 2ch mode, so it's a different case from KBL where indeed the DMIC-based > back-end can support 4 channels. > > > > > The difference after the constraint is implemented is that the > > snd_pcm_hw_params_set_channels() function will return error (Invalid > > argument) when channel number is 3 or 4 so the application knows the > > configuration is not supported. > > I get the error, I am just wondering if the fix is at the right location. I'll look > into it, give me until tomorrow. I think I got your point. I cherry-pick these commits back to v3.14 branch to fix the FE/BE mismatch without adding constraint in machine driver. Thanks. b073ed4e ASoC: soc-pcm: DPCM cares BE format f4c277b8 ASoC: soc-pcm: DPCM cares BE channel constraint 4f2bd18b ASoC: dpcm: extend channel merging to the backend cpu dai 435ffb76 ASoC: dpcm: rework runtime stream merge baacd8d1 ASoC: dpcm: add rate merge to the BE stream merge _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel