[alsa-devel] [PATCH] ASoC: pcm3168a: add hw constraint for capture channel

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed Oct 17 03:54:33 CEST 2018


From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

LEFT_J / I2S only can use TDM.
commit 594680ea4a394 ("ASoC: pcm3168a: add hw constraint for channel")
commit 3809688980205 ("ASoC: pcm3168a: add HW constraint for non
RIGHT_J") added channel constraint for it, but, it was only for playback.
This patch adds constraint for capture.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
 sound/soc/codecs/pcm3168a.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/pcm3168a.c b/sound/soc/codecs/pcm3168a.c
index 63aa025..52cc950 100644
--- a/sound/soc/codecs/pcm3168a.c
+++ b/sound/soc/codecs/pcm3168a.c
@@ -529,11 +529,17 @@ static int pcm3168a_startup(struct snd_pcm_substream *substream,
 		break;
 	case PCM3168A_FMT_LEFT_J:
 		sample_min  = 24;
-		channel_max =  8;
+		if (tx)
+			channel_max = 8;
+		else
+			channel_max = 6;
 		break;
 	case PCM3168A_FMT_I2S:
 		sample_min  = 24;
-		channel_max =  8;
+		if (tx)
+			channel_max = 8;
+		else
+			channel_max = 6;
 		break;
 	default:
 		sample_min  = 24;
@@ -559,6 +565,7 @@ static const struct snd_soc_dai_ops pcm3168a_dac_dai_ops = {
 };
 
 static const struct snd_soc_dai_ops pcm3168a_adc_dai_ops = {
+	.startup	= pcm3168a_startup,
 	.set_fmt	= pcm3168a_set_dai_fmt_adc,
 	.set_sysclk	= pcm3168a_set_dai_sysclk,
 	.hw_params	= pcm3168a_hw_params
-- 
2.7.4



More information about the Alsa-devel mailing list