From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751809AbdLET1Y (ORCPT ); Tue, 5 Dec 2017 14:27:24 -0500 Received: from 123-192-241-158.dynamic.kbronet.com.tw ([123.192.241.158]:50002 "EHLO E6440" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750740AbdLET1W (ORCPT ); Tue, 5 Dec 2017 14:27:22 -0500 X-Greylist: delayed 311 seconds by postgrey-1.27 at vger.kernel.org; Tue, 05 Dec 2017 14:27:22 EST From: Harry Pan To: linux-audio-intel@eclists.intel.com Cc: sathyanarayana.nujella@intel.com, Harry Pan , lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, vinod.koul@intel.com, jeeja.kp@intel.com, harshapriya.n@intel.com, yong.zhi@intel.com, Adam.Thomson.Opensource@diasemi.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH] ASoC: Intel: bxt: Refine the HW contraint of Ref capture. Date: Wed, 6 Dec 2017 03:21:27 +0800 Message-Id: <20171205192127.16210-1-harry.pan@intel.com> X-Mailer: git-send-email 2.13.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The patch restricts the HW contraint of the refcap of WoV stream in single channel (mono) and 16k Hz based on platform implementation. Such that, the userspace program can rely on correct HW parameters through the ALSA library call to manipulate the device. Signed-off-by: Harry Pan --- sound/soc/intel/boards/bxt_da7219_max98357a.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c index ce35ec7884d1..382f71228807 100644 --- a/sound/soc/intel/boards/bxt_da7219_max98357a.c +++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c @@ -338,8 +338,23 @@ 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); -- 2.13.5