On Fri, Dec 13, 2013 at 04:31:40PM +0200, Peter Ujfalusi wrote:
Hrm, not sure about other SoCs but on OMAP most of the formats from memory ends up on the I2S bus without any bits added/removed so the format actually applies to the codec side as well since the data arriving to the codec will have the same layout as it had in the memory. But, yes some level of logic in the core might help.
For every other CPU or CODEC where I know what it does the number of bits expected on the bus is the sample size.
This isn't the way to do it, though - if the TWL drivers were ever used with other CPUs (admittedly unlikely) they'd run into trouble.
The twl drivers (and the dac33) is doing the correct thing IMHO: reporting S32_LE with set .sig_bits = 24. Just to let the user space know that thay should not use the whole 32bit range.
Ah, OK - that's good and correct. Your mail made me think they were using one of the S24 formats.