Re: [PATCH v2 2/4] ASoc: fsl: fsl_qmc_audio: Ensure audio channels are ordered in TDM bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]





Le 14/08/2025 à 09:45, Herve Codina a écrit :
On Tue, 12 Aug 2025 12:50:56 +0200
Christophe Leroy <christophe.leroy@xxxxxxxxxx> wrote:

To reduce complexity of interrupt handling in following patch, ensure
audio channels are configured in the same order as timeslots on the
TDM bus. If we need a given ordering of audio sources in the audio
frame, it is possible to re-order codecs on the TDM bus, no need to
mix up timeslots in channels.

Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
---
v2: New
---
  sound/soc/fsl/fsl_qmc_audio.c | 29 +++++++++++++++++++++++++++++
  1 file changed, 29 insertions(+)

diff --git a/sound/soc/fsl/fsl_qmc_audio.c b/sound/soc/fsl/fsl_qmc_audio.c
index 5614a8b909edf..0be29ccc1ff7b 100644
--- a/sound/soc/fsl/fsl_qmc_audio.c
+++ b/sound/soc/fsl/fsl_qmc_audio.c
@@ -791,12 +791,17 @@ static int qmc_audio_dai_parse(struct qmc_audio *qmc_audio, struct device_node *
  			       struct qmc_dai *qmc_dai,
  			       struct snd_soc_dai_driver *qmc_soc_dai_driver)
  {
+	struct qmc_chan_ts_info ts_info;
  	struct qmc_chan_info info;
  	unsigned long rx_fs_rate;
  	unsigned long tx_fs_rate;
+	int prev_last_rx_ts = 0;
+	int prev_last_tx_ts = 0;
  	unsigned int nb_tx_ts;
  	unsigned int nb_rx_ts;
  	unsigned int i;
+	int last_rx_ts;
+	int last_tx_ts;
  	int count;
  	u32 val;
  	int ret;
@@ -879,6 +884,30 @@ static int qmc_audio_dai_parse(struct qmc_audio *qmc_audio, struct device_node *
  				return -EINVAL;
  			}
  		}
+
+		ret = qmc_chan_get_ts_info(qmc_dai->qmc_chans[i], &ts_info);

qmc_chan_get_ts_info() need a struct qmc_chan as first parameter

qmc_dai->qmc_chans[i].qmc_chan instead of qmc_dai->qmc_chans[i].

The use of qmc_dai->qmc_chans[i] without .qmc_chan have to be done on patch 4 (cleanup patch).

Fixed in v3

Thanks
Christophe




[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux