From patchwork Wed Aug 2 13:17:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 109216 Delivered-To: patch@linaro.org Received: by 10.140.101.6 with SMTP id t6csp2772272qge; Wed, 2 Aug 2017 06:18:11 -0700 (PDT) X-Received: by 10.84.130.104 with SMTP id 95mr24776321plc.411.1501679891811; Wed, 02 Aug 2017 06:18:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501679891; cv=none; d=google.com; s=arc-20160816; b=xeZlm9kMgn9TgppsLbm0+Gyjc6KAtDQdZbKMP6sRyhNeWmtmtJ+M1sFiyAGlSa68iS IxN0+C8eM8fHquLaV/TVRozX72N8degMywrFOaU/RT9fL6yRyOF5XK4jxf6D2JylveCH Oc6RyxVEETs+pwPUrh+wD1T/0UrEUkwBB6kcGepnN61UI3nlOgmoHm+FqUiTKfNc0PBC beU4tt63EeYflwVnqBFSGyxogWq8DN+7tXyK37sul3Gg+IUSsWF0huFs7CtG8CBF92yx F8hZ0FfjyO0Wgdd7BMNSaNkjlhDJtB0Zr6vPvSltn23993i7lOX9a4VJDyMWtiOefcp4 +A5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=0nKQTW9alY9y2QVphJ5KPl5wGxlE1w5vtg0Z/x867r8=; b=hPdlDnUZLaIAJaBNw54dHVF5zcj/+LTZ5pu/mxCmApTFbJtYfJ+wFDoprw3evoFwdW YAxUMmMysK4f3y5oTq7WM4hbDgS9Ru/tihkxg1/A7R7W+B4Vz9a7BBkQx3zVqvw1vXN1 Q7d53+OxStqljfu26NTUZdycX4abkebUGJn4ASZobO4NlPOkr/RjjVFaaZ0UcBsvTni9 8XEY1e1bvTh0PzgN1fgbS8tbhHEvAwNo1VStnzNyvfmnGcpCcNxZHO4gEz70LncCaH4x qQpvgqe/sxks+ZVE9NPLyUU+1MfqbfyF0Ht68IOKe9V3+/JqjxEbB+JxpPxHpeLLQAo3 Fthg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.b=RFQ17Ah9; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 7si19575808pfg.222.2017.08.02.06.18.11; Wed, 02 Aug 2017 06:18:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.b=RFQ17Ah9; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752126AbdHBNSJ (ORCPT + 25 others); Wed, 2 Aug 2017 09:18:09 -0400 Received: from mail-it0-f48.google.com ([209.85.214.48]:35323 "EHLO mail-it0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751972AbdHBNSF (ORCPT ); Wed, 2 Aug 2017 09:18:05 -0400 Received: by mail-it0-f48.google.com with SMTP id h199so23559597ith.0 for ; Wed, 02 Aug 2017 06:18:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0nKQTW9alY9y2QVphJ5KPl5wGxlE1w5vtg0Z/x867r8=; b=RFQ17Ah9+zsqqQrY7fW4shK4tEmF9+YycR46dxqdWF7CkyGHlksi1qitcKmFwma9+F NLVDEcTPq/mCzmRFQxymISiaUqlMEME5B8PXlDCK1zc+QzEAMVkmTzhy9JTL1amfqD3K qW/ZYv1aj41LchTfwUC65Bt87ySwGD0sJaXjM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=0nKQTW9alY9y2QVphJ5KPl5wGxlE1w5vtg0Z/x867r8=; b=IiuYiSOakVAtMSFI0thYpMKZJi8arMkvg5kh0ziL+r73Wo1azBMfSahM2PmrJKm6ll 6JUKejkhCSxr5MQr4i1YMA7g5IqmIiALzTJh8MuQie9tujdn5BdJJ6nuMU4eSw+Bb2ui 1bNgkdBwbt/tb7N2Dzq5aLgIahy9pNDH5OJnSIG8asrT2E7V4Aqd6kwgQS1bffpsjB0g VbEf/Urw+yetM6ZGUGeq0YsIe3AAiNzgVUBbDX7qwqnFyBPN/kgjaB6jBSVqvE0oKT2W gOoKLEe3pSF19xq5bYmZwiJMcFBe6CdFGrI7YDhYzL3V4OZQhlcZVZ0p6Y+nX+pCxt7t fYWQ== X-Gm-Message-State: AIVw111BxfExRYtNbSXorKDu7Jrgo7NLd267WjWKz1ZQtlCoNZKcguDs 5gVPcOHVnnwAxXMK X-Received: by 10.36.196.68 with SMTP id v65mr5826834itf.117.1501679884914; Wed, 02 Aug 2017 06:18:04 -0700 (PDT) Received: from localhost.localdomain (static.8.26.4.46.clients.your-server.de. [46.4.26.8]) by smtp.gmail.com with ESMTPSA id f8sm1406724itc.26.2017.08.02.06.18.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 02 Aug 2017 06:18:04 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: Mark Brown , Banajit Goswami , alsa-devel@alsa-project.org Cc: Jaroslav Kysela , Takashi Iwai , Patrick Lai , linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v3 1/3] ASoC: codecs: msm8916-wcd-digital: add support to set_sysclk Date: Wed, 2 Aug 2017 15:17:46 +0200 Message-Id: <20170802131748.10958-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170802131748.10958-1-srinivas.kandagatla@linaro.org> References: <20170802131748.10958-1-srinivas.kandagatla@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Srinivas Kandagatla This patch adds support to set_sysclk() which can let the sound card driver to set default mclk rate. In this case MCLK for internal audio codec is expected to be at 9.6MHz by default. Signed-off-by: Srinivas Kandagatla --- sound/soc/codecs/msm8916-wcd-digital.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -- 2.9.3 diff --git a/sound/soc/codecs/msm8916-wcd-digital.c b/sound/soc/codecs/msm8916-wcd-digital.c index f690442..825cc7d 100644 --- a/sound/soc/codecs/msm8916-wcd-digital.c +++ b/sound/soc/codecs/msm8916-wcd-digital.c @@ -568,6 +568,15 @@ static int msm8916_wcd_digital_codec_probe(struct snd_soc_codec *codec) return 0; } +static int msm8916_wcd_digital_codec_set_sysclk(struct snd_soc_codec *codec, + int clk_id, int source, + unsigned int freq, int dir) +{ + struct msm8916_wcd_digital_priv *p = dev_get_drvdata(codec->dev); + + return clk_set_rate(p->mclk, freq); +} + static int msm8916_wcd_digital_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) @@ -823,6 +832,7 @@ static struct snd_soc_dai_driver msm8916_wcd_digital_dai[] = { static struct snd_soc_codec_driver msm8916_wcd_digital = { .probe = msm8916_wcd_digital_codec_probe, + .set_sysclk = msm8916_wcd_digital_codec_set_sysclk, .component_driver = { .controls = msm8916_wcd_digital_snd_controls, .num_controls = ARRAY_SIZE(msm8916_wcd_digital_snd_controls), From patchwork Wed Aug 2 13:17:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 109218 Delivered-To: patch@linaro.org Received: by 10.140.101.6 with SMTP id t6csp2772814qge; Wed, 2 Aug 2017 06:18:40 -0700 (PDT) X-Received: by 10.99.181.29 with SMTP id y29mr17412971pge.135.1501679920248; Wed, 02 Aug 2017 06:18:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501679920; cv=none; d=google.com; s=arc-20160816; b=YUkjnHaLBcwVfKorvm96tPFMcRFKEEBHDPKlRwsIiWFeFvEulKp5NIL2s5tszHMBaY wbBnRNOIu6Gy08h0LOibNr2DnzB43Mh2nlDs827F6fWqsPjunAT3a6ZsaM+9v9V2kpi7 K+6fysfA/bmB0hBkiq+A7AqtGZ2/sNMCGLtvho3M8Wz0aP8FThAqDYFGs7jsTowpvW7Q EjmkWw4BG/V20sUpNwUC8qignmxDwfJ/0zoqpyrpFbKPEUDg88TPogZQQ9xwWKkz8ceO 4dn8v6ZZrQFT6PNkx7jyK16vYmWEMpMXY84OnVZyOkBZmvC7Nnf+Eg9eXhIleWS04XZz CVzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=p/jaAf6BmnVZoukyOZ3FpA2j8jlfdNYAxGO0q0KYVPU=; b=0Mihh9JuujqtdLd0ibXHeCaXGIGz7k+0t4OfL392HRBwCzfKQVY49OC+zoeI4hhovd X5q626bat/5xL4wlENFm298XRb2Ugb0O3Xl0oF0KspspIAbLVNgwJodfifb3OsE6EkY2 /caKqjbxnOv2PdGmocX2aHvQaJopes9DH6BafRDcCiZOT8rXgpTv9mVl+d3wKEeDfSAy 3cpjeZ3EqicMbo2c8Vu8e+IjUMQlWX/luL/l++WkZ1T95koxcjlc5KSqbI4nEZqXa1Nd WlZcykThCvwuNOS5vXes+LYvcXxVWxqnYWa64A4X2jRrTi1urdF5pLKqhbkdo2AplqZS 6ong== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.b=HG9/PX7a; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j91si21285400pld.637.2017.08.02.06.18.39; Wed, 02 Aug 2017 06:18:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.b=HG9/PX7a; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752247AbdHBNSh (ORCPT + 25 others); Wed, 2 Aug 2017 09:18:37 -0400 Received: from mail-it0-f44.google.com ([209.85.214.44]:35333 "EHLO mail-it0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752005AbdHBNSH (ORCPT ); Wed, 2 Aug 2017 09:18:07 -0400 Received: by mail-it0-f44.google.com with SMTP id h199so23560045ith.0 for ; Wed, 02 Aug 2017 06:18:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=p/jaAf6BmnVZoukyOZ3FpA2j8jlfdNYAxGO0q0KYVPU=; b=HG9/PX7ahde5pLWLs6H5YQG4H5Tg3jcRcth5y7pMdWsA0VpAmOW/45wZQ0paiBcLtL UBQsa11Zif3mN/5EMug65CPPjcSR8mkg79WTzQTXqCX+JQOxD1uH/S6/Ahew0Co19IS3 xNaxgqpZCICV1zv+aIUAAkwA9TX1FS1gKRikk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=p/jaAf6BmnVZoukyOZ3FpA2j8jlfdNYAxGO0q0KYVPU=; b=uXWA5l9LWlP8PI+IEhlHHlKzAOYUPXXL7PveHp77l2PUIKPgYOaoR7O6Sax0qn0kH6 6f5ihsZlCTmcKdyrPfW4UlxfftfSuMR+KEIxgNrO0AYJf82HM/xPSduFTwTMA1bD94/C pnUSGpJYhOIELhz1Dod9jUG8Tlyeuly6C27ptGjVV0EV9Z69vhN5LXHrckjtvsI66q8J T1d+V2j00X6pS9uLZdYGvybasmG0wzoZDtUscOXIE4Un0CzJgOX5pK7382/4loBtvpDC ZElHH05FSC74k9z+Evy1cGOEgee6D402WQWbkkhdqqopEbPbu9W/1giVP14qRJzmTw3F zu3w== X-Gm-Message-State: AIVw110HwFWPp6neyak8dMbc72ZwY9tdG/SrtuXvmSV1yvVvy7XfD/u1 lBe0xlMV5AuxaCYT X-Received: by 10.36.29.212 with SMTP id 203mr5414767itj.103.1501679887115; Wed, 02 Aug 2017 06:18:07 -0700 (PDT) Received: from localhost.localdomain (static.8.26.4.46.clients.your-server.de. [46.4.26.8]) by smtp.gmail.com with ESMTPSA id f8sm1406724itc.26.2017.08.02.06.18.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 02 Aug 2017 06:18:06 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: Mark Brown , Banajit Goswami , alsa-devel@alsa-project.org Cc: Jaroslav Kysela , Takashi Iwai , Patrick Lai , linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v3 2/3] ASoC: qcom: apq8016-sbc: set default mclk rate Date: Wed, 2 Aug 2017 15:17:47 +0200 Message-Id: <20170802131748.10958-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170802131748.10958-1-srinivas.kandagatla@linaro.org> References: <20170802131748.10958-1-srinivas.kandagatla@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Srinivas Kandagatla MCLK for internal audio codec is expected to be at 9.6MHz by default. This patch adds support to 9.6MHz to make the default case possible. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/apq8016_sbc.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) -- 2.9.3 diff --git a/sound/soc/qcom/apq8016_sbc.c b/sound/soc/qcom/apq8016_sbc.c index d084d74..f07aa1e 100644 --- a/sound/soc/qcom/apq8016_sbc.c +++ b/sound/soc/qcom/apq8016_sbc.c @@ -34,13 +34,16 @@ struct apq8016_sbc_data { #define MIC_CTRL_QUA_WS_SLAVE_SEL_10 BIT(17) #define MIC_CTRL_TLMM_SCLK_EN BIT(1) #define SPKR_CTL_PRI_WS_SLAVE_SEL_11 (BIT(17) | BIT(16)) +#define DEFAULT_MCLK_RATE 9600000 static int apq8016_sbc_dai_init(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_dai *cpu_dai = rtd->cpu_dai; + struct snd_soc_codec *codec; + struct snd_soc_dai_link *dai_link = rtd->dai_link; struct snd_soc_card *card = rtd->card; struct apq8016_sbc_data *pdata = snd_soc_card_get_drvdata(card); - int rval = 0; + int i, rval; switch (cpu_dai->id) { case MI2S_PRIMARY: @@ -63,12 +66,24 @@ static int apq8016_sbc_dai_init(struct snd_soc_pcm_runtime *rtd) default: dev_err(card->dev, "unsupported cpu dai configuration\n"); - rval = -EINVAL; - break; + return -EINVAL; + + } + for (i = 0 ; i < dai_link->num_codecs; i++) { + struct snd_soc_dai *dai = rtd->codec_dais[i]; + + codec = dai->codec; + /* Set default mclk for internal codec */ + rval = snd_soc_codec_set_sysclk(codec, 0, 0, DEFAULT_MCLK_RATE, + SND_SOC_CLOCK_IN); + if (rval != 0 && rval != -ENOTSUPP) { + dev_warn(card->dev, "Failed to set mclk: %d\n", rval); + return rval; + } } - return rval; + return 0; } static struct apq8016_sbc_data *apq8016_sbc_parse_of(struct snd_soc_card *card) From patchwork Wed Aug 2 13:17:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 109217 Delivered-To: patch@linaro.org Received: by 10.140.101.6 with SMTP id t6csp2772390qge; Wed, 2 Aug 2017 06:18:18 -0700 (PDT) X-Received: by 10.98.85.199 with SMTP id j190mr22339097pfb.270.1501679898465; Wed, 02 Aug 2017 06:18:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501679898; cv=none; d=google.com; s=arc-20160816; b=KgXnQXyAgNrDH7QNPMT33SjR90Yg8DxaOKjQwYzjqL0StlOAMgPgtQpe45yqGhiySq PV4y2YyBAJbcLKQy3FaO0BzoXwf+E97lXuo1UoW13zPk30B0WJyndQGRv0GlBu/Beetn rVJH9cinvjIPCJoBdJcaIQUh5nZ5ssl9ic3iiBesLRtVJaBaHCARVDZ3h0p3qqNAfH6L Tk5v77g97SvnWsjkfKUC9L/Kl3oDM+bi+QTy2pGBFitp0VLCUHRTPHfMllpXoeHPrbt+ fapUbQZEwviJO8nxpGOcmGEVvemZhcWtfvpyviRNyjrxJwoftX5+T2C1NK70dayCJvjb +/rQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=cOm/IjgGXRkyQLj1buXrh8C1fnN+YJoGn/s6KmGiC8w=; b=NBlX4cxpzUw68S2FyDVDn+aU9ou+pR4oEFd7kLYX9ztccRC/2gSYHy7picdMGeAqko GHyCyk4IfX8XFBRXlPR18Zxk82q5S2gfAm5GZ/fRgqilT0P8qkk4B5BAe7dKsACINFh8 OIld6dBjtPs0eJ7LjqM181PUSxfQ8ugSy9rPS6NfmssDA6q/38/8aXb455yjgymqpLGE oI05vkfZ/EGjZnCHPVKfpYRS+HzYKQzZp3rRXbMhOhD0Ns03bVV4HCOKCN7JGP5MtbdD L6vyYRdnoz3DPb9vthQcemx5pMYq3gvzR06NIdrwiJ+ahFTralIg5omEZLfDxxZO8lJF uzAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.b=BE3rq3Jj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j91si21285400pld.637.2017.08.02.06.18.18; Wed, 02 Aug 2017 06:18:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.b=BE3rq3Jj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752179AbdHBNSO (ORCPT + 25 others); Wed, 2 Aug 2017 09:18:14 -0400 Received: from mail-it0-f50.google.com ([209.85.214.50]:38552 "EHLO mail-it0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751972AbdHBNSJ (ORCPT ); Wed, 2 Aug 2017 09:18:09 -0400 Received: by mail-it0-f50.google.com with SMTP id h199so24298859ith.1 for ; Wed, 02 Aug 2017 06:18:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=cOm/IjgGXRkyQLj1buXrh8C1fnN+YJoGn/s6KmGiC8w=; b=BE3rq3JjrwdLnb0VJC5AlJx9FP/wbVTv/CHAvq8ngRHWFQFnYmvk8869mJx2QhwIkT 0OQ4ryxx74wxXiGR8/9qIyPRzZLqTzaehNE39SnEDvZisoP/9go87tuccJ+4iTxPE3UF 45odNMWT6kODbhnzCryWCSpg85ZgCdgK4A020= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=cOm/IjgGXRkyQLj1buXrh8C1fnN+YJoGn/s6KmGiC8w=; b=mfdNc/0U5gpdh1bIbgyReSfM2RezjvJirkhY/pqbRK10LTTTcdbLSVfAREGCKNTkfI HpYEHrxGLp4aYp0tUoBdAW+5QxCLcMxIiIruVbdiqyAOliq2T5Qvazxuqa5dxVo4K5MY SOGokapmrbCtT07vqK1s3bw5dFwqDyjjO8mGDzJBNnhsU9xVvq3h3VkIxBzWi4mVzyiN MXsoAgexemGN5IUTN9iuT4i+YJg7fvphDjVlOxb/y96ZyBmEijBrFm+B7WBOAX1wC87u doGRWNylcbq5HlRFImqUvTO71f5E+j3nNXyC6zVQxtCoWG9TnKH8JNh9xp+8kZpDHhAS A9TQ== X-Gm-Message-State: AIVw112QXrG/UmCwcJrxSeLGv/i2Ci9dnia0+oOtWy8ThF8O9IE4HZqn 5tp+DHtRoeEh3Ve64f05xA== X-Received: by 10.36.253.135 with SMTP id m129mr5710496ith.152.1501679889171; Wed, 02 Aug 2017 06:18:09 -0700 (PDT) Received: from localhost.localdomain (static.8.26.4.46.clients.your-server.de. [46.4.26.8]) by smtp.gmail.com with ESMTPSA id f8sm1406724itc.26.2017.08.02.06.18.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 02 Aug 2017 06:18:08 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: Mark Brown , Banajit Goswami , alsa-devel@alsa-project.org Cc: Jaroslav Kysela , Takashi Iwai , Patrick Lai , linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v3 3/3] ASoC: codecs: msm8916-wcd-digital: add CIC filter source selection path Date: Wed, 2 Aug 2017 15:17:48 +0200 Message-Id: <20170802131748.10958-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170802131748.10958-1-srinivas.kandagatla@linaro.org> References: <20170802131748.10958-1-srinivas.kandagatla@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Srinivas Kandagatla This patch fixes a missing selection of DMIC in CIC filter source path to dapm route. Without this patch dmic is not functional. Signed-off-by: Srinivas Kandagatla --- sound/soc/codecs/msm8916-wcd-digital.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) -- 2.9.3 diff --git a/sound/soc/codecs/msm8916-wcd-digital.c b/sound/soc/codecs/msm8916-wcd-digital.c index 825cc7d..d2993e7 100644 --- a/sound/soc/codecs/msm8916-wcd-digital.c +++ b/sound/soc/codecs/msm8916-wcd-digital.c @@ -218,6 +218,8 @@ static const char *const rx_mix1_text[] = { static const char *const dec_mux_text[] = { "ZERO", "ADC1", "ADC2", "ADC3", "DMIC1", "DMIC2" }; + +static const char *const cic_mux_text[] = { "AMIC", "DMIC" }; static const char *const rx_mix2_text[] = { "ZERO", "IIR1", "IIR2" }; static const char *const adc2_mux_text[] = { "ZERO", "INP2", "INP3" }; @@ -256,11 +258,21 @@ static const struct soc_enum dec1_mux_enum = SOC_ENUM_SINGLE( static const struct soc_enum dec2_mux_enum = SOC_ENUM_SINGLE( LPASS_CDC_CONN_TX_B1_CTL, 3, 6, dec_mux_text); +/* CIC */ +static const struct soc_enum cic1_mux_enum = SOC_ENUM_SINGLE( + LPASS_CDC_TX1_MUX_CTL, 0, 2, cic_mux_text); +static const struct soc_enum cic2_mux_enum = SOC_ENUM_SINGLE( + LPASS_CDC_TX2_MUX_CTL, 0, 2, cic_mux_text); + /* RDAC2 MUX */ static const struct snd_kcontrol_new dec1_mux = SOC_DAPM_ENUM( "DEC1 MUX Mux", dec1_mux_enum); static const struct snd_kcontrol_new dec2_mux = SOC_DAPM_ENUM( "DEC2 MUX Mux", dec2_mux_enum); +static const struct snd_kcontrol_new cic1_mux = SOC_DAPM_ENUM( + "CIC1 MUX Mux", cic1_mux_enum); +static const struct snd_kcontrol_new cic2_mux = SOC_DAPM_ENUM( + "CIC2 MUX Mux", cic2_mux_enum); static const struct snd_kcontrol_new rx_mix1_inp1_mux = SOC_DAPM_ENUM( "RX1 MIX1 INP1 Mux", rx_mix1_inp_enum[0]); static const struct snd_kcontrol_new rx_mix1_inp2_mux = SOC_DAPM_ENUM( @@ -500,6 +512,8 @@ static const struct snd_soc_dapm_widget msm8916_wcd_digital_dapm_widgets[] = { SND_SOC_DAPM_MUX("RX3 MIX1 INP3", SND_SOC_NOPM, 0, 0, &rx3_mix1_inp3_mux), + SND_SOC_DAPM_MUX("CIC1 MUX", SND_SOC_NOPM, 0, 0, &cic1_mux), + SND_SOC_DAPM_MUX("CIC2 MUX", SND_SOC_NOPM, 0, 0, &cic2_mux), /* TX */ SND_SOC_DAPM_MIXER("ADC1", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("ADC2", SND_SOC_NOPM, 0, 0, NULL, 0), @@ -536,6 +550,8 @@ static const struct snd_soc_dapm_widget msm8916_wcd_digital_dapm_widgets[] = { /* Connectivity Clock */ SND_SOC_DAPM_SUPPLY_S("CDC_CONN", -2, LPASS_CDC_CLK_OTHR_CTL, 2, 0, NULL, 0), + SND_SOC_DAPM_MIC("Digital Mic1", NULL), + SND_SOC_DAPM_MIC("Digital Mic2", NULL), }; @@ -655,6 +671,11 @@ static const struct snd_soc_dapm_route msm8916_wcd_digital_audio_map[] = { {"AIF1 Capture", NULL, "I2S TX2"}, {"AIF1 Capture", NULL, "I2S TX3"}, + {"CIC1 MUX", "DMIC", "DEC1 MUX"}, + {"CIC1 MUX", "AMIC", "DEC1 MUX"}, + {"CIC2 MUX", "DMIC", "DEC2 MUX"}, + {"CIC2 MUX", "AMIC", "DEC2 MUX"}, + /* Decimator Inputs */ {"DEC1 MUX", "DMIC1", "DMIC1"}, {"DEC1 MUX", "DMIC2", "DMIC2"}, @@ -673,8 +694,8 @@ static const struct snd_soc_dapm_route msm8916_wcd_digital_audio_map[] = { {"DMIC1", NULL, "DMIC_CLK"}, {"DMIC2", NULL, "DMIC_CLK"}, - {"I2S TX1", NULL, "DEC1 MUX"}, - {"I2S TX2", NULL, "DEC2 MUX"}, + {"I2S TX1", NULL, "CIC1 MUX"}, + {"I2S TX2", NULL, "CIC2 MUX"}, {"I2S TX1", NULL, "TX_I2S_CLK"}, {"I2S TX2", NULL, "TX_I2S_CLK"},