From: Yong Zhi Date: Tue, 17 May 2016 16:43:05 +0000 (-0700) Subject: ASoC: Intel: Skylake: Use refcap device for mono recording X-Git-Tag: v5.15~13091^2~7^2~14^2~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0c7941a63a0f46cfd4c41f30e5fcd55e678d535c;p=platform%2Fkernel%2Flinux-starfive.git ASoC: Intel: Skylake: Use refcap device for mono recording Only mono channel is allowed for refcap device. Signed-off-by: Yong Zhi Acked-by: Vinod Koul Signed-off-by: Mark Brown --- diff --git a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c index e19aa99..2647d88 100644 --- a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c +++ b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c @@ -430,8 +430,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);