On Fri, Mar 01, 2019 at 06:55:25AM +0000, S.j. Wang wrote:
Alternatively, I feel instead of error-out at here, should we add a HW constraint or at least fence it off at the beginning of the hw_params()? This is actually nothing specific to the pair-request function but a hardware constraint.
How about add constraint in startup? static int fsl_asrc_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { struct fsl_asrc *asrc_priv = snd_soc_dai_get_drvdata(dai);
if (asrc_priv->channel_bits == 3) { snd_pcm_hw_constraint_step(substream->runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, 2); } return 0;
}
Yea, that looks good to me. Better to have a line of comments to tell that "bits==3" means older version -- maybe we should have something much more clear than using channel_bits but it is fine for now since they only differ here.