[PATCH v3 5/7] ASoC: soc-dai: add common operation to set TDM idle mode

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Mon Mar 2 18:11:50 PST 2026


Hi James

> Some audio devices, like certain Texas Instruments codecs, integrate
> configurable bus keepers that dictate the codec's behaviour during
> idle TDM slots. Now that we have definitions for various idle modes,
> add a snd_soc_dai_set_tdm_idle() operation to control this in a
> standardised way.
> 
> This is useful on Apple Silicon laptops, where a single I2S bus is
> comprised of two physical lines which are ORed just before the
> receiving port. When a codec on one line is transmitting, we must
> guarantee that the other line is low. We can achieve this by
> configuring one codec on each line to use its bus keeper to fill
> its line with zeroes during the active slots of the other line.
> 
> Signed-off-by: James Calligeros <jcalligeros99 at gmail.com>
> ---
(snip)
> +int snd_soc_dai_set_tdm_idle(struct snd_soc_dai *dai,
> +			     unsigned int tx_mask, unsigned int rx_mask,
> +			     int tx_mode, int rx_mode);

Do we need "rx_mode" ?
Only "tx_mode" is enough if my understanding was correct.

This patch-set adds new snd_soc_dai_set_tdm_idle(), but no one is calling
it. Who use it ??

Thank you for your help !!

Best regards
---
Kuninori Morimoto



More information about the linux-arm-kernel mailing list