[PATCH v3 3/4] Asoc: qcom: sdw: Add TDM support

From: Jianhua Lu
Date: Wed Dec 13 2023 - 07:36:42 EST


Setup TDM ports when dai id is matched to *_TDM_*.

Signed-off-by: Jianhua Lu <lujianhua000@xxxxxxxxx>
---
Changes in v3:
1. split qcom_snd_tdm_hw_params function to common.c

Changes in v2:
1. remove EXPORT_SYMBOL_GPL
2. remove static modifier

sound/soc/qcom/sdw.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/sound/soc/qcom/sdw.c b/sound/soc/qcom/sdw.c
index 77dbe0c28b29..c07d878a1c18 100644
--- a/sound/soc/qcom/sdw.c
+++ b/sound/soc/qcom/sdw.c
@@ -5,6 +5,7 @@
#include <dt-bindings/sound/qcom,q6afe.h>
#include <linux/module.h>
#include <sound/soc.h>
+#include "common.h"
#include "sdw.h"

/**
@@ -109,7 +110,7 @@ int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_dai *codec_dai;
struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
struct sdw_stream_runtime *sruntime;
- int i;
+ int ret, i;

switch (cpu_dai->id) {
case WSA_CODEC_DMA_RX_0:
@@ -125,6 +126,14 @@ int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream,
*psruntime = sruntime;
}
break;
+ case PRIMARY_TDM_RX_0...QUINARY_TDM_TX_7:
+ ret = qcom_snd_tdm_hw_params(substream, params);
+ if (ret < 0) {
+ dev_err(rtd->dev, "%s: failed to setup TDM err:%d\n",
+ __func__, ret);
+ return ret;
+ }
+ break;
}

return 0;
--
2.41.0