All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording
@ 2018-08-01 17:03 Yong Zhi
  2018-08-01 22:51 ` Pierre-Louis Bossart
  2018-08-02 23:21 ` [PATCH v2] " Yong Zhi
  0 siblings, 2 replies; 6+ messages in thread
From: Yong Zhi @ 2018-08-01 17:03 UTC (permalink / raw)
  To: broonie, pierre-louis.bossart
  Cc: harshapriya.n, naveen.m, alsa-devel, jenny.tc, Yong Zhi

The refcap capture device supports mono recording only, this patch
adds the channel constraints, also change stream_name to "Wake on Voice".

Signed-off-by: Yong Zhi <yong.zhi@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",
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording
  2018-08-01 17:03 [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording Yong Zhi
@ 2018-08-01 22:51 ` Pierre-Louis Bossart
  2018-08-01 23:18   ` Zhi, Yong
  2018-08-02 23:21 ` [PATCH v2] " Yong Zhi
  1 sibling, 1 reply; 6+ messages in thread
From: Pierre-Louis Bossart @ 2018-08-01 22:51 UTC (permalink / raw)
  To: Yong Zhi, broonie
  Cc: harshapriya.n, naveen.m, alsa-devel, Vinod Koul, jenny.tc

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@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",
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording
  2018-08-01 22:51 ` Pierre-Louis Bossart
@ 2018-08-01 23:18   ` Zhi, Yong
  0 siblings, 0 replies; 6+ messages in thread
From: Zhi, Yong @ 2018-08-01 23:18 UTC (permalink / raw)
  To: Pierre-Louis Bossart, broonie
  Cc: N, Harshapriya, M, Naveen, alsa-devel, Vinod Koul, Tc, Jenny

Hi, Bossart,

Thanks for the quick review.

> -----Original Message-----
> From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@linux.intel.com]
> Sent: Wednesday, August 1, 2018 3:52 PM
> To: Zhi, Yong <yong.zhi@intel.com>; broonie@kernel.org
> Cc: alsa-devel@alsa-project.org; N, Harshapriya <harshapriya.n@intel.com>;
> M, Naveen <naveen.m@intel.com>; Tc, Jenny <jenny.tc@intel.com>; Vinod
> Koul <vkoul@kernel.org>
> Subject: Re: [alsa-devel] [PATCH] ASoC: Intel: bxt: Use refcap device for
> mono recording
> 
> 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?
> 

The cras audio server defined HOTWORD_DEV as "Wake on Voice", but we can also use UCM file to tell the server that the Refcap is the HOTWORD_DEV, so the renaming is not straightly required, I can remove it in v2.

https://chromium.googlesource.com/chromiumos/third_party/adhd/+/master/cras/src/server/cras_alsa_io.c

> >
> > Signed-off-by: Yong Zhi <yong.zhi@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",
> >

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2] ASoC: Intel: bxt: Use refcap device for mono recording
  2018-08-01 17:03 [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording Yong Zhi
  2018-08-01 22:51 ` Pierre-Louis Bossart
@ 2018-08-02 23:21 ` Yong Zhi
  2018-08-03  5:08   ` Pierre-Louis Bossart
  2018-08-03  9:51   ` Applied "ASoC: Intel: bxt: Use refcap device for mono recording" to the asoc tree Mark Brown
  1 sibling, 2 replies; 6+ messages in thread
From: Yong Zhi @ 2018-08-02 23:21 UTC (permalink / raw)
  To: broonie, pierre-louis.bossart
  Cc: alsa-devel, harshapriya.n, vkoul, naveen.m, jenny.tc, Yong Zhi

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(+)

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);
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] ASoC: Intel: bxt: Use refcap device for mono recording
  2018-08-02 23:21 ` [PATCH v2] " Yong Zhi
@ 2018-08-03  5:08   ` Pierre-Louis Bossart
  2018-08-03  9:51   ` Applied "ASoC: Intel: bxt: Use refcap device for mono recording" to the asoc tree Mark Brown
  1 sibling, 0 replies; 6+ messages in thread
From: Pierre-Louis Bossart @ 2018-08-03  5:08 UTC (permalink / raw)
  To: Yong Zhi, broonie; +Cc: harshapriya.n, naveen.m, alsa-devel, vkoul, jenny.tc

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);
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Applied "ASoC: Intel: bxt: Use refcap device for mono recording" to the asoc tree
  2018-08-02 23:21 ` [PATCH v2] " Yong Zhi
  2018-08-03  5:08   ` Pierre-Louis Bossart
@ 2018-08-03  9:51   ` Mark Brown
  1 sibling, 0 replies; 6+ messages in thread
From: Mark Brown @ 2018-08-03  9:51 UTC (permalink / raw)
  To: Yong Zhi
  Cc: alsa-devel, harshapriya.n, pierre-louis.bossart, vkoul, broonie,
	naveen.m, jenny.tc

The patch

   ASoC: Intel: bxt: Use refcap device for mono recording

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 26a6dce8ef99b0199e7682d1c203cf7d0b5fd5b0 Mon Sep 17 00:00:00 2001
From: Yong Zhi <yong.zhi@intel.com>
Date: Thu, 2 Aug 2018 18:21:31 -0500
Subject: [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording

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 | 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);
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-08-03  9:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-01 17:03 [PATCH] ASoC: Intel: bxt: Use refcap device for mono recording Yong Zhi
2018-08-01 22:51 ` Pierre-Louis Bossart
2018-08-01 23:18   ` Zhi, Yong
2018-08-02 23:21 ` [PATCH v2] " Yong Zhi
2018-08-03  5:08   ` Pierre-Louis Bossart
2018-08-03  9:51   ` Applied "ASoC: Intel: bxt: Use refcap device for mono recording" to the asoc tree Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.