OSDN Git Service

ASoC: Intel: bxt: Use refcap device for mono recording
authorYong Zhi <yong.zhi@intel.com>
Thu, 2 Aug 2018 23:21:31 +0000 (18:21 -0500)
committerMark Brown <broonie@kernel.org>
Fri, 3 Aug 2018 09:33:06 +0000 (10:33 +0100)
The refcap capture device supports mono recording only, this patch
adds the channel constraints.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/bxt_da7219_max98357a.c

index be6e4b4..6f052fc 100644 (file)
@@ -324,8 +324,22 @@ static const 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 broxton_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);