On Mon, Sep 21, 2015 at 04:41:20PM +0300, Jyri Sarha wrote:
On 09/21/15 12:31, Russell King - ARM Linux wrote:
The device may accept 32 bit I2S, but it would have to be truncated to 24 bit before transmitting it to the sink. This should be mentioned somewhere.
There is ".sig_bits = 24" in hdmi_i2s_dai, but I can add an explicit comment about it.
We needed 32bit format in practice until Peter got 24_LE properly working with McASP. I just thought the may still be some platforms out there that can not produce 24bit i2s samples for some reason, but work just fine with 32bit samples. Those platforms would be limited to less than 24bit precision without 32bit formats. But as said, it is not critical to us any more and I can drop the 32bit formats as well.
Yes, this is currently a bit messy - we should really be able to allow S24_LE and S32 to interoperate better without drivers having to know about it since physically they are essentially compatible in memory. I'm pretty much OK with it for now since even with that framework support it should be harmless.