ASoC: qcom: sm8250: add support for TX and RX Macro dais
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Wed, 6 Oct 2021 17:27:44 +0000 (18:27 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 18 Oct 2021 20:11:49 +0000 (21:11 +0100)
On SM8250 MTP boards WCD938x codec is connected via TX and RX Macros,
so add support for this dais in the soundcard driver.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20211006172745.22103-2-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/sm8250.c

index fe8fd7367e21b22b336c217c75a713b4a3d6ab16..9f2f0598a222e24a47abe535d9ce853e810bb6a5 100644 (file)
@@ -69,6 +69,12 @@ static int sm8250_snd_hw_params(struct snd_pcm_substream *substream,
 
        switch (cpu_dai->id) {
        case WSA_CODEC_DMA_RX_0:
+       case RX_CODEC_DMA_RX_0:
+       case RX_CODEC_DMA_RX_1:
+       case TX_CODEC_DMA_TX_0:
+       case TX_CODEC_DMA_TX_1:
+       case TX_CODEC_DMA_TX_2:
+       case TX_CODEC_DMA_TX_3:
                for_each_rtd_codec_dais(rtd, i, codec_dai) {
                        sruntime = snd_soc_dai_get_sdw_stream(codec_dai,
                                                      substream->stream);
@@ -129,6 +135,12 @@ static int sm8250_snd_prepare(struct snd_pcm_substream *substream)
        switch (cpu_dai->id) {
        case WSA_CODEC_DMA_RX_0:
        case WSA_CODEC_DMA_RX_1:
+       case RX_CODEC_DMA_RX_0:
+       case RX_CODEC_DMA_RX_1:
+       case TX_CODEC_DMA_TX_0:
+       case TX_CODEC_DMA_TX_1:
+       case TX_CODEC_DMA_TX_2:
+       case TX_CODEC_DMA_TX_3:
                return sm8250_snd_wsa_dma_prepare(substream);
        default:
                break;
@@ -147,6 +159,12 @@ static int sm8250_snd_hw_free(struct snd_pcm_substream *substream)
        switch (cpu_dai->id) {
        case WSA_CODEC_DMA_RX_0:
        case WSA_CODEC_DMA_RX_1:
+       case RX_CODEC_DMA_RX_0:
+       case RX_CODEC_DMA_RX_1:
+       case TX_CODEC_DMA_TX_0:
+       case TX_CODEC_DMA_TX_1:
+       case TX_CODEC_DMA_TX_2:
+       case TX_CODEC_DMA_TX_3:
                if (sruntime && data->stream_prepared[cpu_dai->id]) {
                        sdw_disable_stream(sruntime);
                        sdw_deprepare_stream(sruntime);