]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: pcm3168a: Enable TDM support for DSP_A/B modes
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 17 Apr 2019 11:31:40 +0000 (14:31 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 2 May 2019 01:46:01 +0000 (10:46 +0900)
The 24-bit TDM mode also applies to DSP_A and DSP_B modes.
Most dais on the SoC side can not interpret I2S/Left_j with other than 2
channels of audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/pcm3168a.c

index 08d3fe192e657218c6f78125b05405277cf53af3..e0d5839fe1a7707fc1480c37120c17f9db7544e7 100644 (file)
@@ -457,13 +457,16 @@ static int pcm3168a_hw_params(struct snd_pcm_substream *substream,
        if (chan > 2) {
                switch (fmt) {
                case PCM3168A_FMT_I2S:
+               case PCM3168A_FMT_DSP_A:
                        fmt = PCM3168A_FMT_I2S_TDM;
                        break;
                case PCM3168A_FMT_LEFT_J:
+               case PCM3168A_FMT_DSP_B:
                        fmt = PCM3168A_FMT_LEFT_J_TDM;
                        break;
                default:
-                       dev_err(component->dev, "TDM is supported under I2S/Left_J only\n");
+                       dev_err(component->dev,
+                               "TDM is supported under DSP/I2S/Left_J only\n");
                        return -EINVAL;
                }
        }
@@ -526,6 +529,8 @@ static int pcm3168a_startup(struct snd_pcm_substream *substream,
                break;
        case PCM3168A_FMT_LEFT_J:
        case PCM3168A_FMT_I2S:
+       case PCM3168A_FMT_DSP_A:
+       case PCM3168A_FMT_DSP_B:
                sample_min  = 24;
                channel_max = channel_maxs[tx];
                break;