[v2] ASoC: Intel: bxt: Use refcap device for mono recording
diff mbox series

Message ID 1533252091-31918-1-git-send-email-yong.zhi@intel.com
State New
Headers show
Series
  • [v2] ASoC: Intel: bxt: Use refcap device for mono recording
Related show

Commit Message

Yong Zhi Aug. 2, 2018, 11:21 p.m. UTC
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>
---
Changes since v1:
- Remove renaming of "Refcap".
- Add Reviewed-by tag.

 sound/soc/intel/boards/bxt_da7219_max98357a.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Pierre-Louis Bossart Aug. 3, 2018, 5:08 a.m. UTC | #1
On 8/2/18 4:21 PM, Yong Zhi wrote:
> 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>
> ---
> Changes since v1:
> - Remove renaming of "Refcap".
> - Add Reviewed-by tag.

LGTM, thanks.

> 
>   sound/soc/intel/boards/bxt_da7219_max98357a.c | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
> 
> diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
> index be6e4b40bf03..6f052fc8d1e2 100644
> --- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
> +++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
> @@ -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);
>

Patch
diff mbox series

diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
index be6e4b40bf03..6f052fc8d1e2 100644
--- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
+++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
@@ -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);