From patchwork Thu Mar 23 16:44:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 74125 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp3033860wrt; Thu, 23 Mar 2023 10:13:05 -0700 (PDT) X-Google-Smtp-Source: AK7set942XmsZvTBToVLI3wDqVvYUVGRYXeELiEUT8aeEcrtEWL1b1wl0wRytsYBqo5kuOG34TsS X-Received: by 2002:a17:906:c047:b0:932:615c:33d4 with SMTP id bm7-20020a170906c04700b00932615c33d4mr6597427ejb.34.1679591585724; Thu, 23 Mar 2023 10:13:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679591585; cv=none; d=google.com; s=arc-20160816; b=Dyolsoj7+gyXPi48mOn038dkvyo7HNT/KPWmXFMa507+3W0LEBXdx++TK4txs6bPtX V+UrMcThMBA+8cF/x7rpbM//ur1nd8Q5cD/X35I1ZoTRMXnQk8/NAqoElcTdXVj8XUsQ YoShX7BTVxIMpJUUAyoKs9zFFCGojVSUrngYyWt6YrwIp/GZSL0cbFsVzygOvWfeLm3p FK/zPa79rac0Wg2lWT5onCg3lzvzQTFfu+x8h7GQZyqrjRY93npiko3zPeynpZIJEL8w m0Roi2kdVnlvmlllRYW66GO6YHlsFz8z7TqQGZIfy0hO0o2vIc1wbnlqbIwaUKyIvGwC Sk5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=V9hR2ta52bACZknOtBgzAtIQixsM2cnIaeXyomXOX0M=; b=OoTNAtbQh5940o7ClZkiMlAQ3IreIz7yLyKTj9fHsXUbrii95FmB7Lhg9YZzVGge3f x+2QKPkrCrRoYTRBuDwdOTI8Yj8b3KHFHjadVpB+N4GxOAIXeCBZgcsRmyGhs4JvyXln YywEsYpHcDeAuJ6ecUX7MryLjcTssmJKjrYX8pFdr05xU5q4fobbg/LCGLwHsDygCbBO 7sKNMXeKtjvAHj4l8mVQLiTHBpZWFhgmb23B52O4lR+iPJWMXIRZUx53sFsZlUKgN17l bHmfp10EZWiWNKL2dVP8pHkrKCmuix3OILsumxADD18Wz1j9e4fKt5TYiCD3AT0XMLuR yNgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hsU07gcm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sg13-20020a170907a40d00b009334637f8a5si18365727ejc.125.2023.03.23.10.12.42; Thu, 23 Mar 2023 10:13:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hsU07gcm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S232230AbjCWQpa (ORCPT + 99 others); Thu, 23 Mar 2023 12:45:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231603AbjCWQpC (ORCPT ); Thu, 23 Mar 2023 12:45:02 -0400 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 787D2BDD7 for ; Thu, 23 Mar 2023 09:44:16 -0700 (PDT) Received: by mail-ed1-x534.google.com with SMTP id eg48so89398381edb.13 for ; Thu, 23 Mar 2023 09:44:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679589855; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=V9hR2ta52bACZknOtBgzAtIQixsM2cnIaeXyomXOX0M=; b=hsU07gcm4byF9ZYlXK1WlYHz20he7E5os8F7BoiRYFqBoQ2LrF2tAJIR9eVB89B8Uy HJA8JeTi7FwzRJ9QxYCsEuIBXYiMTMb1rDVSxF4Q/n0XMr/M4RFU6tkGTphQfVx4uG71 l5UlNqW7RwV16UokCSfFHyRmu8oAgTKWjS8tWQtIe5h/PGz52NnEbauFdC0hY47EMOgS SOTX0YK+AtNfFB4fQyOEqxMCyZHkHGoA+mSLPFbuU4KUzJ7iT2zGM9o8cDWy0W066NRI FquE+gLVNO9wbeZ7aJh0yrRbmLCExY1uQ7JeyDp7ZrXtcJ+GS4EGqeX6jb6AUxU2ZUqV I1Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679589855; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=V9hR2ta52bACZknOtBgzAtIQixsM2cnIaeXyomXOX0M=; b=nx/5fLIpVGGYbaYvz61zzhZwtBN+uvNV9i6aRqL5yk7J6jvs6WAYkKy6gDsiaR7JOW 0f/hrXPEMczjAz0qiflCstkcmgLjdH9RNre1Gu7/0yTxo9Byw1a96qVlvLbbY5UgmIxr 4bIKYRbUbvyXW8wdWzqZI7gFyqWepTuIQBOcTwdxYI1ZG6oaERTegNcKrl89YWSlcRxG 0ZVdzI+rXzciJMjIC7Nj28Un72zxEPMXrNizfegnAA9FxBd2/v4gxvdj+U+OZrZb/MLn aBa5FZNczfMUPdTs4EsdxS8e/YA8maMv8dbxttyHxOwLZc9yvabdiNOGRIBH3y4PIrIr 53VQ== X-Gm-Message-State: AO0yUKVn33iGaHOPOKrAsDqp0ZYOlVu8eTWsJQzCsW/uqd+Kun6yGbC3 EFcAtu/lnGCm9lgNLXXypOsxsQ== X-Received: by 2002:a50:e619:0:b0:4fd:298a:62cb with SMTP id y25-20020a50e619000000b004fd298a62cbmr6183375edm.21.1679589854783; Thu, 23 Mar 2023 09:44:14 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id m10-20020a50998a000000b004e48f8df7e2sm9542187edb.72.2023.03.23.09.44.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 09:44:13 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, johan+linaro@kernel.org, steev@kali.org, dmitry.baryshkov@linaro.org, Srinivas Kandagatla Subject: [PATCH 1/4] ASoC: qcom: q6apm-lpass-dai: close graphs before opening a new one Date: Thu, 23 Mar 2023 16:44:00 +0000 Message-Id: <20230323164403.6654-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> References: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761179426586547945?= X-GMAIL-MSGID: =?utf-8?q?1761179426586547945?= On multiple prepare calls, its possible that the playback graphs are not unloaded from the DSP, which can have some wierd side-effects, one of them is that the data not consumed without any errors. Fixes: c2ac3aec474d("ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared") Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c index 23d23bc6fbaa..420e8aa11f42 100644 --- a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +++ b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c @@ -130,6 +130,9 @@ static int q6apm_lpass_dai_prepare(struct snd_pcm_substream *substream, struct s if (dai_data->is_port_started[dai->id]) { q6apm_graph_stop(dai_data->graph[dai->id]); dai_data->is_port_started[dai->id] = false; + + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + q6apm_graph_close(dai_data->graph[dai->id]); } /** From patchwork Thu Mar 23 16:44:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 74118 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp3028101wrt; Thu, 23 Mar 2023 10:02:45 -0700 (PDT) X-Google-Smtp-Source: AK7set95HLkDw20+CtJcgeWdkz3dWt99YbPMNE5HFQzpsLPQxDRrfN9y27Im2tnXAPcASxuzamF3 X-Received: by 2002:a17:906:b309:b0:933:c052:a277 with SMTP id n9-20020a170906b30900b00933c052a277mr11222791ejz.12.1679590965030; Thu, 23 Mar 2023 10:02:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679590965; cv=none; d=google.com; s=arc-20160816; b=AMpLk4GZsv2gv3IECIPAVFPkcQXR3eeI12kbzFtBZrMnOUQ/bNsun5/K0XPEuY3uuJ X1L62/qhbO1/NbBp0NVrBnEa8DxVJ+4wySgBj0taXfNBDPlPvO2kz52JVam3Q2AVCf16 him/NItUNCd3Y80XG2t5iKpvnGzAffL14NwEW37eNqAOptxfhlBRZq9vG7uQ11tpFcvZ TNyjsDRVw6rvaVFRJLBeNK+S+7ut4HI6r7vegBxZsmbunxyU0V0hHW84ndA+NyTKPQfG cKa/5Br5MMPC2Yf02HO+RjdBoJ6Dr8xwBuC5eHMx6SdRmHRXajoeUTBRkkOU8Ps44TSz GDQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4p58Lw+agHASsKfJ6aDJH9J3fw9PY/7V6UBtha5qnBQ=; b=kLZvBQO5elsL8qG4WvqqI+7UA+jTxuo4OxLrFaFMndawTHfT5HZLlfYgqSajL/7QoZ Trr1+T5HxyOVgX0CFcBK+nhxSssxltd4OLWHhl/WfD6CfcPVlfE+cZguXQGk9JM8XtXQ T4Tao/kSYil9hmoY59writMlOGYSR9IXOXRE0ghmmDUxVPb/rTxzCj3AENZgZzEb3JLf bp5P0Oy/O/C16yyj3j2Aw6bSoxJFDR99AkzX2DD1QBauurAICBAj+6h2iWXFw9tJyEex srrotBiaVVGVI954IUmxgHMaKsLwp1RH3Th3GiALtZLcnGK1gm8ghp2ul4skidv32bJ6 574g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mkSLbSGc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v24-20020a17090690d800b008d7a24d918csi17963379ejw.823.2023.03.23.10.02.16; Thu, 23 Mar 2023 10:02:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mkSLbSGc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S232434AbjCWQp0 (ORCPT + 99 others); Thu, 23 Mar 2023 12:45:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231358AbjCWQpC (ORCPT ); Thu, 23 Mar 2023 12:45:02 -0400 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78526BDC5 for ; Thu, 23 Mar 2023 09:44:16 -0700 (PDT) Received: by mail-ed1-x534.google.com with SMTP id eh3so89494192edb.11 for ; Thu, 23 Mar 2023 09:44:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679589856; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4p58Lw+agHASsKfJ6aDJH9J3fw9PY/7V6UBtha5qnBQ=; b=mkSLbSGc8DserzlRocfmGovK4CVXM9wFX93zf+RwrfRNWUdp0Aqb3/jH+3ZaNQ99Mu 5pnqk8ZX63k1t+viVUk0gpVnV4uNs+fEL6HN7KBXrplCxQSWeBe+qV8rUHCuZCVMfaUJ UCmEeyBAG8reHjZxRR+Uk1XhfRgn/00G0CNcSpQfjbGGoeNF/kyd5/CbsnC+e7IoKdo6 8JzuammEipu17QgSECVds5BEVRGVaL0mooaiJqUw+B6oO2CWoShT5kq9DFIZ3jTg1n+2 1WaNZ7pGrmOJhHD7qg9vPhIorYzlbU8fynb98St6KupzEuMSjsPbYpaE4hzjlEHyIKqq OIdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679589856; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4p58Lw+agHASsKfJ6aDJH9J3fw9PY/7V6UBtha5qnBQ=; b=sFiTL4XP/AaoXPz0XE2b/S7o7Jp5ITli9zF2Cvb+f9FAUvEp/jXqRvD+B1xjsVhnXE wRuvN8jzqhVFHF3ASQAfAEwcuHEPGrOHarif7en9QoTbZKp0KoBloIIG/pe6kM8rCB3Y 9nDpqUj2MS18+FIehDGW3oLkaYkkw8UXYYQvqHhQsQo1aWVmBip0ALwBsoF2ChTDy8Fl 6zbhpjaFz2WA28TaA4ZOYLaVXEF9ujuQK7/2NyPUk9NbKjJSoe7Bn1qnuVrKY1ppyq/Y yLPgnL986c8YDBFEetZdDtOZUShoxNVSap23R42NDKoCuS8TW98027ovTECsjUQ+LMSJ 41ng== X-Gm-Message-State: AO0yUKW/LY+EsTyfCruILu6T0OKRHFsZ8CzVZorLJENxUxBD+2IgseeD vLUFoYrJOz/kQfovQM2vvckonw== X-Received: by 2002:a17:906:6d4e:b0:8b8:c06e:52d8 with SMTP id a14-20020a1709066d4e00b008b8c06e52d8mr11481150ejt.36.1679589855954; Thu, 23 Mar 2023 09:44:15 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id m10-20020a50998a000000b004e48f8df7e2sm9542187edb.72.2023.03.23.09.44.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 09:44:15 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, johan+linaro@kernel.org, steev@kali.org, dmitry.baryshkov@linaro.org, Srinivas Kandagatla Subject: [PATCH 2/4] ASoC: qcom: sdw: do not restart soundwire ports for every prepare Date: Thu, 23 Mar 2023 16:44:01 +0000 Message-Id: <20230323164403.6654-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> References: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761178775515001195?= X-GMAIL-MSGID: =?utf-8?q?1761178775515001195?= unpreparing/disabling and preparing/reenabling soundwire ports is not required for every prepare call, this add lots of click and pop noise if we do this in middle of playback or capture. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/sdw.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sound/soc/qcom/sdw.c b/sound/soc/qcom/sdw.c index 10249519a39e..1a41419c7eb8 100644 --- a/sound/soc/qcom/sdw.c +++ b/sound/soc/qcom/sdw.c @@ -32,11 +32,8 @@ int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream, return 0; } - if (*stream_prepared) { - sdw_disable_stream(sruntime); - sdw_deprepare_stream(sruntime); - *stream_prepared = false; - } + if (*stream_prepared) + return 0; ret = sdw_prepare_stream(sruntime); if (ret) From patchwork Thu Mar 23 16:44:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 74120 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp3031955wrt; Thu, 23 Mar 2023 10:09:33 -0700 (PDT) X-Google-Smtp-Source: AK7set98Y5nBmKY7Z3htoY6ZGyFNK3PI3pjmsDdoaGO7Oq0wysmnMzoYcql4QueM3mpfWDBq0107 X-Received: by 2002:a17:906:299b:b0:932:ac10:94b6 with SMTP id x27-20020a170906299b00b00932ac1094b6mr11057340eje.32.1679591372862; Thu, 23 Mar 2023 10:09:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679591372; cv=none; d=google.com; s=arc-20160816; b=SJx36O4cpk3gc0DIXdR4Qw0faVQTK870tARYyv3fMf8S7vJv0tTNlBo8wl5WatG1xL +dbgxGGo9otznPhVxb7lr5kNOiI//9EG8bCrUTqvCG9Rtk4kvsgj3/Ki07u0Z7PdZnvI AobuWNMDZtPEImwvqCJoXx3oDSDbo7NPKTrgqQtSuAEardQTMac3K5RsCNNwlwPp6Mep ISOy6S05IhRWDhoTOKLS9sT4UATuOy4ETLXBwAWCiVn7yXCNZoefTqZ+2AXP2un6DOEv 87XYf6mnlXdtA9MmjwtQBKskXQ5qRcP5bgVbVxdBsITcYN5k7/2O2fS/wGprruKPjY7u maoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2ylgpuVGeZBO2/cPigFjTck4l8oNGf5kwYVPeLJ7mYo=; b=gZFiO23VKp+hw4UfeN4aXXpkdcLtl1ilgYi3/ZO//cBJLnqQumUrJvMisatpQjiSMG QAPb7SPbEAZZtLqozLutqEvaI8iBgiLBhRZHwV4xLz1wWOUJJtg1GhdoLRWcQ4B4vXa7 cxjG3yFAOzQ07eqsVnUEEC0DiIPXBeXc5Q4nTFg7NBRuJF6IMVJ83uHHup5LZzGAKb9g rer5pjOMxTdPVdbcKMFV1nKeJPVT9PqXg7PS92is65xpYk8vilg6cJWRcH2zAfwtvcN/ 352e83tpQRTc1dhkNvIPU7J1+/hEzX1IiOoGdKk0rTOBwAd0NG8qRbfrYdjqTCPJB8KO i8AA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dacXY7Bg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hs33-20020a1709073ea100b0093c2280aafbsi3400355ejc.943.2023.03.23.10.09.10; Thu, 23 Mar 2023 10:09:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dacXY7Bg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S232312AbjCWQpd (ORCPT + 99 others); Thu, 23 Mar 2023 12:45:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54074 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231924AbjCWQpE (ORCPT ); Thu, 23 Mar 2023 12:45:04 -0400 Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0649FC14B for ; Thu, 23 Mar 2023 09:44:20 -0700 (PDT) Received: by mail-ed1-x533.google.com with SMTP id b20so56541849edd.1 for ; Thu, 23 Mar 2023 09:44:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679589858; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2ylgpuVGeZBO2/cPigFjTck4l8oNGf5kwYVPeLJ7mYo=; b=dacXY7BgXtYyAS8zIpvXAvcqNaLtsWu7+lJTg+KFrpJT1Z5K5gYJ6Y4K6BD2huGCa9 5vhnXieE415UGVwoecZOfFSqsXshhfWe0aJYOC40tSvBgxuWU7W7QimqqscSY0hOKA1C f6B73Y3wVgs2Ck9zYnrKTG9/A2JgGhG/WfrOGxzOUzclZKUb9GAOC0mSYqjcjbWB54IR v5g1bq5pz25hcf0I0nckMSeP97SFjcdBMrvximAgZa4ZNKFcCC4KOZgOv1zRYkk2ZEIx lofDYwd6dqtHaVtcjzex+63NchJQ9oGh/C9orGbqSyPyTwEX21yljYRSH/KlBeg0JoWE HiUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679589858; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2ylgpuVGeZBO2/cPigFjTck4l8oNGf5kwYVPeLJ7mYo=; b=qXj9KvQo4/UnsGYYC8U5zOtHDHFqCbnbbIv7YkoGNI6TpdEV9qak5xRuz1RpWxcxIX ZU91X4mWjs86GMSgfeEwBChTj6WlteQFxiOSuUo8H9RohRIaInUNJdiP0NNOg0nlL2qe vbGKIDqSedGe7gKXa6UJbkro4ug3EJDZrHiTv/FtP2jIT6BHNlSZ0JDCLEZ5vRgHlIRe 8dcu+XdfuTfsuAVm9IcR5CwCJhA/VlJo1zSUQNoDcqU8bKjPhrjLqngRJdmljQuLgTtH CLgNqaDXqRiK7i/8j+ctkfUEYCJ837r4HW844CwgSLFCPU0Iw/ubQrMspy7sUHzb0agl Tnmw== X-Gm-Message-State: AO0yUKWIhR/QeHS1Uc2YOzktqhkooiwbfAvv0+Y9euY3uEzzfaaptyV/ hbavBRooAbSDdGdNcqw537PtTg== X-Received: by 2002:a17:906:b0b:b0:930:f149:7865 with SMTP id u11-20020a1709060b0b00b00930f1497865mr10714465ejg.21.1679589858511; Thu, 23 Mar 2023 09:44:18 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id m10-20020a50998a000000b004e48f8df7e2sm9542187edb.72.2023.03.23.09.44.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 09:44:16 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, johan+linaro@kernel.org, steev@kali.org, dmitry.baryshkov@linaro.org, Srinivas Kandagatla Subject: [PATCH 3/4] ASoC: codecs: wsa883x: mute/unmute PA in correct sequence Date: Thu, 23 Mar 2023 16:44:02 +0000 Message-Id: <20230323164403.6654-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> References: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761179203581138133?= X-GMAIL-MSGID: =?utf-8?q?1761179203581138133?= In the current setup the PA is left unmuted even when the Soundwire ports are not started streaming. This can lead to click and pop sounds during start. There is a same issue in the reverse order where in the PA is left unmute even after the data stream is stopped, the time between data stream stopping and port closing is long enough to accumulate DC on the line resulting in Click/Pop noise during end of stream. Moving the mute/unmute to trigger stop/start respectively seems to help a lot with this Click/Pop issues reported on this Codec. Signed-off-by: Srinivas Kandagatla Tested-by: Johan Hovold --- sound/soc/codecs/wsa883x.c | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c index c609cb63dae6..b83b5b0d4bab 100644 --- a/sound/soc/codecs/wsa883x.c +++ b/sound/soc/codecs/wsa883x.c @@ -1204,9 +1204,6 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w, break; } - snd_soc_component_write_field(component, WSA883X_DRE_CTL_1, - WSA883X_DRE_GAIN_EN_MASK, - WSA883X_DRE_GAIN_FROM_CSR); if (wsa883x->port_enable[WSA883X_PORT_COMP]) snd_soc_component_write_field(component, WSA883X_DRE_CTL_0, WSA883X_DRE_OFFSET_MASK, @@ -1219,9 +1216,6 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w, snd_soc_component_write_field(component, WSA883X_PDM_WD_CTL, WSA883X_PDM_EN_MASK, WSA883X_PDM_ENABLE); - snd_soc_component_write_field(component, WSA883X_PA_FSM_CTL, - WSA883X_GLOBAL_PA_EN_MASK, - WSA883X_GLOBAL_PA_ENABLE); break; case SND_SOC_DAPM_PRE_PMD: @@ -1341,10 +1335,38 @@ static int wsa883x_digital_mute(struct snd_soc_dai *dai, int mute, int stream) return 0; } +static int wsa883x_trigger(struct snd_pcm_substream *s, int cmd, + struct snd_soc_dai *dai) +{ + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + case SNDRV_PCM_TRIGGER_RESUME: + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + wsa883x_digital_mute(dai, false, 0); + break; + case SNDRV_PCM_TRIGGER_STOP: + case SNDRV_PCM_TRIGGER_SUSPEND: + case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + wsa883x_digital_mute(dai, true, 0); + break; + default: + break; + } + + return 0; +} + +static int wsa883x_startup(struct snd_pcm_substream *stream, + struct snd_soc_dai *dai) +{ + return wsa883x_digital_mute(dai, true, 0); +} + static const struct snd_soc_dai_ops wsa883x_dai_ops = { + .startup = wsa883x_startup, .hw_params = wsa883x_hw_params, .hw_free = wsa883x_hw_free, - .mute_stream = wsa883x_digital_mute, + .trigger = wsa883x_trigger, .set_stream = wsa883x_set_sdw_stream, }; From patchwork Thu Mar 23 16:44:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 74113 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp3020471wrt; Thu, 23 Mar 2023 09:47:29 -0700 (PDT) X-Google-Smtp-Source: AKy350ZWQrcwhwQPi+Frvbcda2wjupLaaa86cA816fgvdss9CMrc6Pf/qrWjjcvxp//0kqQkFCT6 X-Received: by 2002:aa7:c04a:0:b0:500:2d0c:15ec with SMTP id k10-20020aa7c04a000000b005002d0c15ecmr30216edo.24.1679590049566; Thu, 23 Mar 2023 09:47:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679590049; cv=none; d=google.com; s=arc-20160816; b=ZbjCWUXUONMZ+Fj7e+tzJFVi8cI1umR82zaZO4f7jEsmIJFd8NB0WWAE+QtPEwarTT yH7qHxK3pKelG2Le3vwpHf/GVnMCRoExn0pNyic2mT8cDfCbh8r8a7XrNV3cD7DFBmIQ 5Ha6F02ZAFZoXM4W9C7iAFBzpAMDTXeuKSwIlFK2sezLg924HmtuYgCfLORQEeMQL6OP O5x6si3+xOrd5VWRW7asJFVnbtqTKuql7pN+0dQ7of+SfHQs4tDd60Vt8hp26u7L/3UB Dc5JzjS82vlJLxgjw7hQO9Uo8AdAaaod5UMVfUGwosSPz2coCns/l6iny8mq9BMKb91/ 79rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=u/ixaKYCINrc8PZNvIv/BmX3oT7UL3hRYGh8CvIW67w=; b=CuYzwiU7Ako13hSw9gzvXewA+9L2PCI1AQBFtSyOLEbj5x2Ou/RCuWL54IgF2orWRo hgtp3Nbrimy2fLuUZaw7Ee6X6VAdESh2QmRNN/QztSJyH3W80Vihg1Td9sKEpsn9XUhu oNrYGLaGt0usjLLf0/qtEhUivSluEjnq6X10X0hpXQQTWa/qJfsfFe4QLhUR6ZGlZH+R CiLuiDo36d5EgN4alcEbY7+IvjQ/ReSFraxb8fzu/5P3B93wkiEATTR4h7U3r1qJpvxH L0UMxDjCRToBBqgdRN2XPVV9jwVoxPr5lO7+9C4fKvfL0TpgaxYcA7ciRi3iF6pMcuPq usbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gR+HrEbS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c8-20020aa7c988000000b004fc494a98f0si20718702edt.277.2023.03.23.09.47.06; Thu, 23 Mar 2023 09:47:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gR+HrEbS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S232443AbjCWQpg (ORCPT + 99 others); Thu, 23 Mar 2023 12:45:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232109AbjCWQpI (ORCPT ); Thu, 23 Mar 2023 12:45:08 -0400 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 234E2C165 for ; Thu, 23 Mar 2023 09:44:21 -0700 (PDT) Received: by mail-ed1-x535.google.com with SMTP id h8so89472203ede.8 for ; Thu, 23 Mar 2023 09:44:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679589859; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=u/ixaKYCINrc8PZNvIv/BmX3oT7UL3hRYGh8CvIW67w=; b=gR+HrEbSGNaBPXyDWCKFxXDo8N8eJof0wkZfcPSoIFUybYbdbDk7TQ50jIYpTPg1Mu 7iUSc/JXUV5V2uo6O3W5pCXzqXrByLxMX5Stnh03QSQfvHQQv0Y4y7V0MIBYQscWcpjp mSLEFwG0h7sUfUq76wecIuaYUoC3IoMoK0a5F8Y9CXY88+Bjn07Jee7XkQ1reJ/TFS1l vquOdwHsm8w3ytV1TkaeX/IycPc8k4Q6nbDFFZ/Ll20wE2tL/k68mTeom7TaPPoMLAnf 18n656Li66Q7oHf+7SAmOEqoZS1R8eXyPolMfaltUhxm2dX0WJRSryEFQYkh7PS4fOZz iMIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679589859; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u/ixaKYCINrc8PZNvIv/BmX3oT7UL3hRYGh8CvIW67w=; b=gAF+lgB3txfpMAfWONWLicJcE5kbJ4TW7xzGRkgNf+rybO0RIkJS9GRQhoC6yPSUpe GonxlIvDWn1J7rZcZ6SJ+6+4wRNakJ/PnhT10P4oMeeN+6t/kDk02P5c8s7dCZ2Ryf12 2DW93tpOd7urquB50uuWoBeIDBKgSkTKZHxLsaRCLObroxHNSCPq4JQH8DgtwGZAIaxq tolQ29TIMR2AOkq/IB5LP9ncGe/NtFVvop1UvvwpKMmL6Mn+V57TFCnonxEQ0gQ7enO1 bKtEFCCcaflJDCYMKKzDVxFowmy3YV1lioqe0nnPTkbHbUmwxNCyyl6Pa2ZwJlbfuTXP zu8w== X-Gm-Message-State: AO0yUKUFeWyKR3dYMoKqTvii5JOXMT8dAxcsdNvYHcw2ygN4JVJJioBs VLNnCMuD+QkmOmG29YxHcRk3yQ== X-Received: by 2002:a17:906:1b15:b0:8b1:7ae9:647 with SMTP id o21-20020a1709061b1500b008b17ae90647mr10473349ejg.76.1679589859734; Thu, 23 Mar 2023 09:44:19 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id m10-20020a50998a000000b004e48f8df7e2sm9542187edb.72.2023.03.23.09.44.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 09:44:19 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, johan+linaro@kernel.org, steev@kali.org, dmitry.baryshkov@linaro.org, Srinivas Kandagatla Subject: [PATCH 4/4] ASoC: codecs: wsa881x: mute/unmute PA in correct sequence Date: Thu, 23 Mar 2023 16:44:03 +0000 Message-Id: <20230323164403.6654-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> References: <20230323164403.6654-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761177815778874087?= X-GMAIL-MSGID: =?utf-8?q?1761177815778874087?= In the current setup the PA is left unmuted even when the Soundwire ports are not started streaming. This can lead to click and pop sounds during start. There is a same issue in the reverse order where in the PA is left unmute even after the data stream is stopped, the time between data stream stopping and port closing is long enough to accumulate DC on the line resulting in Click/Pop noise during end of stream. Moving the mute/unmute to trigger stop/start respectively seems to help a lot with this Click/Pop issues reported on this Codec. Signed-off-by: Srinivas Kandagatla --- sound/soc/codecs/wsa881x.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/sound/soc/codecs/wsa881x.c b/sound/soc/codecs/wsa881x.c index f709231b1277..4ce72a7f01b6 100644 --- a/sound/soc/codecs/wsa881x.c +++ b/sound/soc/codecs/wsa881x.c @@ -1033,11 +1033,39 @@ static int wsa881x_digital_mute(struct snd_soc_dai *dai, int mute, int stream) return 0; } +static int wsa881x_trigger(struct snd_pcm_substream *s, int cmd, + struct snd_soc_dai *dai) +{ + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + case SNDRV_PCM_TRIGGER_RESUME: + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + wsa881x_digital_mute(dai, false, 0); + break; + case SNDRV_PCM_TRIGGER_STOP: + case SNDRV_PCM_TRIGGER_SUSPEND: + case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + wsa881x_digital_mute(dai, true, 0); + break; + default: + break; + } + + return 0; +} + +static int wsa881x_startup(struct snd_pcm_substream *stream, + struct snd_soc_dai *dai) +{ + return wsa881x_digital_mute(dai, true, 0); +} + static const struct snd_soc_dai_ops wsa881x_dai_ops = { + .startup = wsa881x_startup, .hw_params = wsa881x_hw_params, .hw_free = wsa881x_hw_free, - .mute_stream = wsa881x_digital_mute, .set_stream = wsa881x_set_sdw_stream, + .trigger = wsa881x_trigger, }; static struct snd_soc_dai_driver wsa881x_dais[] = {