diff mbox series

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

Message ID 20231213123556.20469-3-lujianhua000@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v3,1/4] ASoC: qcom: common: Add qcom_snd_tdm_hw_params function | expand

Commit Message

Jianhua Lu Dec. 13, 2023, 12:35 p.m. UTC
Setup TDM ports when dai id is matched to *_TDM_*.

Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
---
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 mbox series

Patch

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;