[alsa-devel] [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu Aug 2 00:51:43 CEST 2018


On 8/1/18 10:03 AM, Yong Zhi wrote:
> The refcap capture device supports mono recording only, this patch
> adds the channel constraints, also change stream_name to "Wake on Voice".

the part on the channel constraints is legit, but I wonder if the 
renaming to "Wake-on-voice" is required or meaningful. IIRC the 
reference signal is just a downmixed/downsampled version whatever is 
being played to be used for echo cancellation, I don't see a link with 
Wake-on-voice?

> 
> Signed-off-by: Yong Zhi <yong.zhi at intel.com>
> ---
>   sound/soc/intel/boards/bxt_da7219_max98357a.c | 16 +++++++++++++++-
>   1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
> index be6e4b4..097a089 100644
> --- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
> +++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
> @@ -319,6 +319,15 @@ static const unsigned int rates_16000[] = {
>   	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 const struct snd_pcm_hw_constraint_list constraints_16000 = {
>   	.count = ARRAY_SIZE(rates_16000),
>   	.list  = rates_16000,
> @@ -326,6 +335,11 @@ static const struct snd_pcm_hw_constraint_list constraints_16000 = {
>   
>   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);
> @@ -372,7 +386,7 @@ static struct snd_soc_dai_link broxton_dais[] = {
>   	[BXT_DPCM_AUDIO_REF_CP] =
>   	{
>   		.name = "Bxt Audio Reference cap",
> -		.stream_name = "Refcap",
> +		.stream_name = "Wake on Voice",
>   		.cpu_dai_name = "Reference Pin",
>   		.codec_name = "snd-soc-dummy",
>   		.codec_dai_name = "snd-soc-dummy-dai",
> 



More information about the Alsa-devel mailing list