ASoC: Intel: Skylake: Add channel constraints for refcap
authorYong Zhi <yong.zhi@intel.com>
Tue, 17 May 2016 16:43:04 +0000 (09:43 -0700)
committerMark Brown <broonie@kernel.org>
Mon, 30 May 2016 15:15:45 +0000 (16:15 +0100)
Add constraint for ref DMIC to match with the
topology firmware config.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/skl_nau88l25_max98357a.c

index d2808652b9741f2fced8381e356563b63d54bd48..fc3f4750c4326330426ca144560043b9c71d2ce8 100644 (file)
@@ -382,8 +382,22 @@ static struct snd_pcm_hw_constraint_list constraints_16000 = {
        .list  = rates_16000,
 };
 
+static const unsigned int ch_mono[] = {
+       1,
+};
+
+static const struct snd_pcm_hw_constraint_list constraints_refcap = {
+       .count = ARRAY_SIZE(ch_mono),
+       .list  = ch_mono,
+};
+
 static int skylake_refcap_startup(struct snd_pcm_substream *substream)
 {
+       substream->runtime->hw.channels_max = 1;
+       snd_pcm_hw_constraint_list(substream->runtime, 0,
+                                       SNDRV_PCM_HW_PARAM_CHANNELS,
+                                       &constraints_refcap);
+
        return snd_pcm_hw_constraint_list(substream->runtime, 0,
                                SNDRV_PCM_HW_PARAM_RATE,
                                &constraints_16000);