On Tue, Jan 15, 2019 at 10:06 AM Peter Rosin peda@axentia.se wrote:
...and when double-checking that, this dai op is only ever called from snd_soc_dai_set_bclk_ratio, and that function is in turn not called from anywhere AFAICT. What's the point of this dai op anyway? Or, what am I missing?
Well, my use for this, would be to allow the machine driver to call snd_soc_dai_set_bclk_ratio, in order to explicitly set the frame width. This would allow it to use 32-bit frames for 24-bit data and avoid the fractional dividers that would otherwise result. Right now, the machine driver (which lives in the Raspberry Pi kernel tree) uses a workaround for this, that relies on a patch made to the CODEC driver to half-support TDM slots, which hasn't be pushed upstream, and wouldn't be accepted if it had, since it's essentially a hack. You can find more details here:
http://mailman.alsa-project.org/pipermail/alsa-devel/2018-December/143507.ht...
What the intended use for the snd_soc_dai_set_bclk_ratio is, I'm not so clear about, hence this RFC.