From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.5 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 128CAC433C1 for ; Wed, 24 Mar 2021 18:44:31 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7BC3261A10 for ; Wed, 24 Mar 2021 18:44:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BC3261A10 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 28BC91655; Wed, 24 Mar 2021 19:43:37 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 28BC91655 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1616611467; bh=XUM8mAx9ePtthebXoX1uoiavdmE5TUuJRovaTVUFX2w=; h=Subject:To:References:From:Date:In-Reply-To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=ul+O5dEBUSXRtX51aIlos41S2q1eMmnUwxePSiTJRXAq57md6HzHC96RRLLHprkfD wlG1nS+ewfDe/lGkKeLl3hfJZu0HiSeizDUxObO8C5cxxFAnnIivsx57/hfpL+QTOd 7ntsi9vhH5ptLAGCk8tbArtFien2/EuxVBguBXeM= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 9B730F80156; Wed, 24 Mar 2021 19:43:36 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 2DDF6F8016B; Wed, 24 Mar 2021 19:43:35 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id CF34AF80104 for ; Wed, 24 Mar 2021 19:43:21 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz CF34AF80104 IronPort-SDR: krE9SmFyvVLT3IJN3Odu+EF+JLveqsg6GNTtDM1dKxDOMMhHpA+BR1YgMC+1cc68xpUJZzrs9W wlWA27vaPCCg== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="170114460" X-IronPort-AV: E=Sophos;i="5.81,275,1610438400"; d="scan'208";a="170114460" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2021 11:43:09 -0700 IronPort-SDR: lBLxggSLXt7jcEtCOZiliFsWmOVIZBbm/5mdubY5obY+zHDYlO0MjC+Fqvj83tpmNYf/DYx7Vg AvETGfYnKglA== X-IronPort-AV: E=Sophos;i="5.81,275,1610438400"; d="scan'208";a="436132525" Received: from jmtabang-mobl2.amr.corp.intel.com (HELO [10.213.166.106]) ([10.213.166.106]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2021 11:43:08 -0700 Subject: Re: [PATCH 2/2] ASoc: Intel: board: add BE DAI link for WoV To: vamshi.krishna.gopal@intel.com, alsa-devel@alsa-project.org, "Rojewski, Cezary" References: <20210324175200.44922-1-vamshi.krishna.gopal@intel.com> <20210324175200.44922-3-vamshi.krishna.gopal@intel.com> From: Pierre-Louis Bossart Message-ID: <66a73c07-8152-9f55-c8e6-bb5bf68056ac@linux.intel.com> Date: Wed, 24 Mar 2021 13:43:07 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210324175200.44922-3-vamshi.krishna.gopal@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Cc: harshapriya.n@intel.com, sathya.prakash.m.r@intel.com, broonie@kernel.org, biernacki@google.com, pierre-louis.bossart@intel.com X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" On 3/24/21 12:52 PM, vamshi.krishna.gopal@intel.com wrote: > From: Mac Chiang > > create dai link in kbl_da7219_max98357a driver for wake on voice > functionality. > > changes picked from broonie's tree > commit 0c7941a63a0f > ("ASoC: Intel: Skylake: Use refcap device for mono recording") > commit 2154be362c90 > ("ASoc: Intel: boards: Add WOV as sink for nau88l25_ssm4567 machine") > > Signed-off-by: Mac Chiang > Signed-off-by: Vamshi Krishna Gopal > Tested-by: Kaiyen Chang > Tested-by: luke yang > Tested-by: Grace Kao > Tested-by: Kaiyen Chang > Reviewed-by: Cheng-Yi Chiang > --- > sound/soc/intel/boards/kbl_da7219_max98357a.c | 35 +++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/sound/soc/intel/boards/kbl_da7219_max98357a.c b/sound/soc/intel/boards/kbl_da7219_max98357a.c > index 1d6b2855874d..c9d83eebf4a8 100644 > --- a/sound/soc/intel/boards/kbl_da7219_max98357a.c > +++ b/sound/soc/intel/boards/kbl_da7219_max98357a.c > @@ -44,6 +44,7 @@ struct kbl_codec_private { > enum { > KBL_DPCM_AUDIO_PB = 0, > KBL_DPCM_AUDIO_CP, > + KBL_DPCM_AUDIO_REF_CP, > KBL_DPCM_AUDIO_DMIC_CP, > KBL_DPCM_AUDIO_HDMI1_PB, > KBL_DPCM_AUDIO_HDMI2_PB, > @@ -335,12 +336,36 @@ static struct snd_soc_ops kabylake_dmic_ops = { > .startup = kabylake_dmic_startup, > }; > > +static const struct snd_pcm_hw_constraint_list constraints_refcap = { > + .count = ARRAY_SIZE(ch_mono), > + .list = ch_mono, > +}; > + > +static int kabylake_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); > +} > + > +static struct snd_soc_ops skylaye_refcap_ops = { > + .startup = kabylake_refcap_startup, > +}; > + > SND_SOC_DAILINK_DEF(dummy, > DAILINK_COMP_ARRAY(COMP_DUMMY())); > > SND_SOC_DAILINK_DEF(system, > DAILINK_COMP_ARRAY(COMP_CPU("System Pin"))); > > +SND_SOC_DAILINK_DEF(reference, > + DAILINK_COMP_ARRAY(COMP_CPU("Reference Pin"))); > + > SND_SOC_DAILINK_DEF(dmic, > DAILINK_COMP_ARRAY(COMP_CPU("DMIC Pin"))); > > @@ -415,6 +440,16 @@ static struct snd_soc_dai_link kabylake_dais[] = { > .ops = &kabylake_da7219_fe_ops, > SND_SOC_DAILINK_REG(system, dummy, platform), > }, > + [KBL_DPCM_AUDIO_REF_CP] = { > + .name = "Kbl Audio Reference cap", > + .stream_name = "Wake on Voice", Does anyone have a clear definition of what "REF_CP" and "reference" mean? it's not echo reference since there is a separate entry for this, so not sure what the term means. Half of the SKL/KBL drivers seem to use this FE for "Wake on Voice" and the other half use it for 'Refcap', this doesn't look very consistent. > + .init = NULL, > + .dpcm_capture = 1, > + .nonatomic = 1, > + .dynamic = 1, > + .ops = &skylaye_refcap_ops, > + SND_SOC_DAILINK_REG(reference, dummy, platform), > + }, > [KBL_DPCM_AUDIO_DMIC_CP] = { > .name = "Kbl Audio DMIC cap", > .stream_name = "dmiccap", >