On Wed, Jun 21, 2023 at 04:55:18PM +0300, Maxim Kochetkov wrote:
On 21.06.2023 16:18, Mark Brown wrote:
I'm saying there should be some interlock between these two settings, if nothing else setting DSP A mode should force TDM mode with automatically configured slot sizes.
At this time there is no any interlock for TDM mode in MAX98090 driver. We
Yes, that's the problem I am identifying. The driver allows TDM mode to be configured independently of the DAI format but the two are related.
can specify dai-tdm-slot-* properties in DT and .set_tdm_slot() will be called to setup TDM mode. And SND_SOC_DAIFMT cannot affect it. I checked other codecs drivers: most of them performs TDM setup this way. So why do we need such interlock right now?
A lot of devices support TDM modes with other DAI formats, or allow the mode that is required for TDM to be configured even without doing TDM setup. Some always configure TDM like I'm suggesting, with the explicit TDM configuration just being an override. Some are just buggy and nobody noticed. The issue is that the driver will claim to have configured DSP A mode but actually done something else unless the user also configures TDM.