From: David Heidelberg <[email protected]>

Describe the mask with the bits used for each RX/TX.

Signed-off-by: David Heidelberg <[email protected]>
---
 sound/soc/qcom/sdm845.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/sound/soc/qcom/sdm845.c b/sound/soc/qcom/sdm845.c
index 0ce9dff4dc525..edd2cc7a1c74f 100644
--- a/sound/soc/qcom/sdm845.c
+++ b/sound/soc/qcom/sdm845.c
@@ -18,19 +18,21 @@
 #include "sdw.h"
 #include "../codecs/rt5663.h"
 
 #define DRIVER_NAME    "sdm845"
 #define DEFAULT_SAMPLE_RATE_48K                48000
 #define DEFAULT_MCLK_RATE              24576000
 #define TDM_BCLK_RATE          6144000
 #define MI2S_BCLK_RATE         1536000
-#define LEFT_SPK_TDM_TX_MASK    0x30
-#define RIGHT_SPK_TDM_TX_MASK   0xC0
-#define SPK_TDM_RX_MASK         0x03
+#define LEFT_SPK_TDM_RX_MASK   BIT(0)
+#define RIGHT_SPK_TDM_RX_MASK  BIT(1)
+#define SPK_TDM_RX_MASK                (LEFT_SPK_TDM_RX_MASK | 
RIGHT_SPK_TDM_RX_MASK)
+#define LEFT_SPK_TDM_TX_MASK   (BIT(4) | BIT(5))
+#define RIGHT_SPK_TDM_TX_MASK  (BIT(6) | BIT(7))
 #define NUM_TDM_SLOTS           8
 #define SLIM_MAX_TX_PORTS 16
 #define SLIM_MAX_RX_PORTS 13
 #define WCD934X_DEFAULT_MCLK_RATE      9600000
 
 struct sdm845_snd_data {
        struct snd_soc_jack jack;
        bool jack_setup;
@@ -108,34 +110,36 @@ static int sdm845_tdm_snd_hw_params(struct 
snd_pcm_substream *substream,
        default:
                dev_err(rtd->dev, "%s: invalid param format 0x%x\n",
                                __func__, params_format(params));
                return -EINVAL;
        }
 
        channels = params_channels(params);
        if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
-               ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0, 0x3,
-                               8, slot_width);
+               ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0, SPK_TDM_RX_MASK,
+                                              NUM_TDM_SLOTS, slot_width);
                if (ret < 0) {
                        dev_err(rtd->dev, "%s: failed to set tdm slot, 
err:%d\n",
                                        __func__, ret);
                        goto end;
                }
 
                ret = snd_soc_dai_set_channel_map(cpu_dai, 0, NULL,
                                channels, tdm_slot_offset);
                if (ret < 0) {
                        dev_err(rtd->dev, "%s: failed to set channel map, 
err:%d\n",
                                        __func__, ret);
                        goto end;
                }
        } else {
-               ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0xf, 0,
-                               8, slot_width);
+               ret = snd_soc_dai_set_tdm_slot(cpu_dai,
+                                              SPK_TDM_RX_MASK | BIT(2) |
+                                              BIT(3), 0,
+                                              NUM_TDM_SLOTS, slot_width);
                if (ret < 0) {
                        dev_err(rtd->dev, "%s: failed to set tdm slot, 
err:%d\n",
                                        __func__, ret);
                        goto end;
                }
 
                ret = snd_soc_dai_set_channel_map(cpu_dai, channels,
                                tdm_slot_offset, 0, NULL);

-- 
2.53.0



Reply via email to