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",
.cpu_dai_name = "Reference Pin", .codec_name = "snd-soc-dummy", .codec_dai_name = "snd-soc-dummy-dai",.stream_name = "Wake on Voice",