Tested and the following is something we can use without creating a new
dailink.
struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
if (!strcmp(codec_dai->name, KBL_REALTEK_DMIC_CODEC_DAI)) {
if (params_channels(params) == 2 ||
DMIC_CH(dmic_constraints) == 2)
channels->min = channels->max = 2;
else
channels->min = channels->max = 4;
} else {
rate->min = rate->max = 48000;
channels->min = channels->max = 2;
snd_mask_none(fmt);
snd_mask_set_format(fmt, pcm_fmt);
}
Pierre, thoughts?
thanks Harsha, that looks like what I had in mind, but my earlier question was
why we deal with the rates and formats only in the last case?
The speaker codec supported only 16 bit. (Vendor mentioned)
For playback on this platform, only 48Khz was used.
ok then, as long as Harsha and Lukasz are aligned I'm fine. Thanks!