From patchwork Thu Feb 9 13:13:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 54943 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp328057wrn; Thu, 9 Feb 2023 05:18:41 -0800 (PST) X-Google-Smtp-Source: AK7set83sqHhtHsAudCcc2ABjO27iHHsRespDM4xV+gPp0glPYX2AvwfC0TWaMQJzEGJSYNVCvHV X-Received: by 2002:a17:906:3ecf:b0:886:1359:5a6a with SMTP id d15-20020a1709063ecf00b0088613595a6amr12292583ejj.68.1675948721048; Thu, 09 Feb 2023 05:18:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675948721; cv=none; d=google.com; s=arc-20160816; b=uw9VQzpPbL0qnauoFE1ZeegfK3sfN9xuoSFXcUWmX7xWBztQDjZClrOvIFt344WULL 0NFb2Klux05MjJHJojENTwEzaDUKA47w/WBXwHWDmo7h8BZTXUQC0nn8I+Yt9eBP4M93 9eb9b3Rqch/2iU0mW1LKEzINCcthj171FBRHqDGSP2aH7Hg+hpcycmEKimS6LYtnVHIE MZImXdWE+cbF/xEGxp0/b1fd6Y34U9hVU1FNi2h4kdrCDb+F+v6ejSdTjQ2pKrlQx3i8 5Jq70zzxpU4rLX17my0S41Msm7wpn8sa0uacI6YJTeso5d+ZQF/jpaBqswn8LHg9iHW8 +33g== 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=jZXq8dEw8EGIO/pGDRaHOOzvG+p+V2k3SWMSCz374AM=; b=vV1Zjw5HeoE1YITwkPTMFf0x0YeVd0AMYe92tVBMoNBRBT/3ng2+B3XH2WLahHvAAg jqU9Rb1Lfnz//xqInvJ1WKVHNronRIACoddCjPV4XK8567nV0NpFgQwmqwhfhVtF54uf LLeXXobDTuzUuTfdbOqLEl4TUYSTCJBbtwWM6ny0LhKLYWhx8RJRcVJM1MnrijQdcIlQ TP61vLJ2uefbHjSdX6nDfxVeRBqtLZYdW5UI56L0t3HjTlga2iavG2fJLRHyNRMjofgn UzYH8Tsbqb3YvzgQsAgA27B5I8QvYnPhCKot6dqtVN3vlVEO2DRg4thLNMA3VxcHKtxl m9CA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DX+gWntv; 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 mu39-20020a1709068aa700b0087f1daeb106si2317837ejc.855.2023.02.09.05.18.18; Thu, 09 Feb 2023 05:18:41 -0800 (PST) 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=DX+gWntv; 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 S229997AbjBINNx (ORCPT + 99 others); Thu, 9 Feb 2023 08:13:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41536 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229967AbjBINNu (ORCPT ); Thu, 9 Feb 2023 08:13:50 -0500 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E8E342DF0 for ; Thu, 9 Feb 2023 05:13:49 -0800 (PST) Received: by mail-wm1-x32d.google.com with SMTP id bg5-20020a05600c3c8500b003e00c739ce4so1472531wmb.5 for ; Thu, 09 Feb 2023 05:13:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=jZXq8dEw8EGIO/pGDRaHOOzvG+p+V2k3SWMSCz374AM=; b=DX+gWntv9kzkTbjK0gkqW7XZcfeX5kAYrPiXrCQo21K0scAgIXpVJAP1rndjdvAOMg 3whWi/KWru5IkCXPKpJ4ShsNfXompA7GSrV/b0dE6EOGjxmSCoIe+bMxEf7GZWxEZ4aq DHfe35AEE8QEF/FxgngYLPkbVxAvxK0ayyKDFV1om9I7xdIG5+7m0ycVnGhdSr9tHRKn schucCCwbIDdqWoYmE1GXdDa1dGPxa4Ky4b+1bLpWDBwr0xasXjMwEPrYlpqbfT0YMa6 lXjNl36Og+9c2kjZnZxqNpB9B47TUlgJBy424l8ja96M7rV0ikg36ZcxUnAJtrEuggmM KMpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=jZXq8dEw8EGIO/pGDRaHOOzvG+p+V2k3SWMSCz374AM=; b=EZZmMGxsjQCaOOLD1mHw8PX3or87fc9cM/PUnK+Gu3QqiZ47gtMwCAtc57XDq9a18T caQsREZE9ffuuFzhMmVYPM4JBm70v7qA7qWw7hw5yJBdbqtIq/aiNPGOK3khNsJR5XlP mIkK2LdxmIaz7EFVBnkJZXmKPd5iUL2scrZGn7lUkOatKgcllEBFz0b/iIr90Q8M5K01 PYVsNTIPvup3dcOoj0yPGS+nb5LUKS1J0NLnOaMrUI69ilFEeyzE+kEED6mhmckP7csp iPeYz/mWnCGxd+BF52otxJuvaZHkpJVktkX/mZJ84Cv1eXp4BGTSRWmRJZPM0soCu+QY l7YQ== X-Gm-Message-State: AO0yUKXT51OL7AaALm9XE/IGNm6Aveq/yILtiDbQ6+ZuVB2S4K+1NBSx jFyy/JTOrMVycKSX9fY36BUjMgc1ZexZ5/jc X-Received: by 2002:a05:600c:331b:b0:3dc:4356:533c with SMTP id q27-20020a05600c331b00b003dc4356533cmr9840352wmp.5.1675948428277; Thu, 09 Feb 2023 05:13:48 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ja13-20020a05600c556d00b003dc4b4dea31sm1789394wmb.27.2023.02.09.05.13.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Feb 2023 05:13:47 -0800 (PST) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, steev@kali.org, johan+linaro@kernel.org, quic_bjorande@quicinc.com, Srinivas Kandagatla Subject: [PATCH 1/5] soundwire: qcom: update status correctly with mask Date: Thu, 9 Feb 2023 13:13:32 +0000 Message-Id: <20230209131336.18252-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> References: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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?1757359606165882559?= X-GMAIL-MSGID: =?utf-8?q?1757359606165882559?= SoundWire device status can be incorrectly updated without proper mask, fix this by adding a mask before updating the status. Fixes: c7d49c76d1d5 ("soundwire: qcom: add support to new interrupts") Signed-off-by: Srinivas Kandagatla --- drivers/soundwire/qcom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index 335424870290..9d8ae77bad0a 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -434,7 +434,7 @@ static int qcom_swrm_get_alert_slave_dev_num(struct qcom_swrm_ctrl *ctrl) status = (val >> (dev_num * SWRM_MCP_SLV_STATUS_SZ)); if ((status & SWRM_MCP_SLV_STATUS_MASK) == SDW_SLAVE_ALERT) { - ctrl->status[dev_num] = status; + ctrl->status[dev_num] = status & SWRM_MCP_SLV_STATUS_MASK; return dev_num; } } From patchwork Thu Feb 9 13:13:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 54947 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp328703wrn; Thu, 9 Feb 2023 05:20:12 -0800 (PST) X-Google-Smtp-Source: AK7set8u1VbZ8nIEAUaydKmYqvSxAw3sueaprFV7o71m1PRg4Oiq/oy3U1bh2KeC9wunYgtdMoxc X-Received: by 2002:a17:907:741:b0:8af:3b7c:ff81 with SMTP id xc1-20020a170907074100b008af3b7cff81mr3041871ejb.50.1675948812242; Thu, 09 Feb 2023 05:20:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675948812; cv=none; d=google.com; s=arc-20160816; b=0zDMQI7T2cHXc5VenpOlzSsH2Kb7wcx0SpjFdtxuupD/9gL/HVYJcXrEI8JP+hysUW q6cKVxbBgKVrArKF9cL0qjI3p2oCwKnsm4yLNJ9yg04hG/EEbtcLNsOHKF6sqqkEaD+B 09zXXDsEhTzc++HQJKeEXlNK2ZHuwWrtjOsV43u4k0GhZXR04Z7KLuEoZf2gARso+xAB 7P6UxsrrT93vFXefGixUVps6GDLdysej0FrtyF0XvffJLqht4u2IjrqbRCnx0E/FdouJ inL9tSPMOW9dpqoqYRpHEVCiuXSc1V992EFw6ZrpFpE91FoC4aZMy2TIZoOiDsHSldtz WDzw== 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=nPXVzG5o2X54MLB3ZyDSI4pawnltFzWU5Saextq817o=; b=dOk1hPKubIsmdzk0F4/doqZaAqXKPKTY7+PCdOOD+R75NejM4RUhdSgP6ntbBGdA2n tBGvvdht8xT9ouReULNXf54Ps2f76LQ7B8V5HB0AU5e2lV0seBf15Y/SeRTlr4PZjjnH TY5omyRwDfgKnkrO0YG4WkpnJBS2m5hRq0FqEEVVQcmEsd4mmYypeohD8rVr3TNKDU+g VO65qxMdZBLggW9LHiY2q7myZjrLLUpYE+Bc27nhUzpk0+bX2IVjY4c9xsLyuOMx8cpb zQlHWkt5fVyN2kIgOPRCfBOXvOn8kkZw8kogswyS1zLBA3lrPINWZ3ehg9RwcJgB9eG8 imvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ULYJnwqN; 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 ge10-20020a170907908a00b00878742fba64si2137216ejb.68.2023.02.09.05.19.48; Thu, 09 Feb 2023 05:20:12 -0800 (PST) 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=ULYJnwqN; 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 S230047AbjBINN6 (ORCPT + 99 others); Thu, 9 Feb 2023 08:13:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229992AbjBINNw (ORCPT ); Thu, 9 Feb 2023 08:13:52 -0500 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EF27A35252 for ; Thu, 9 Feb 2023 05:13:50 -0800 (PST) Received: by mail-wm1-x32b.google.com with SMTP id u10so1396004wmj.3 for ; Thu, 09 Feb 2023 05:13:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=nPXVzG5o2X54MLB3ZyDSI4pawnltFzWU5Saextq817o=; b=ULYJnwqNMeRiea9IJdFP6yvfpxaRwkju4sp2HMcBIO6UHM0rdl40OPLuvrjmSSH4OQ fpScO6nXREnk/uZlVm+PA0saUgUMEmCFnW5NCC9kCeEAOKtmcNsrx7ogiJ6TB335qgHA CldrEYHwLgk7qatZ91j1dre1BD6oBWD0L9U/KbLV3gEdL58WEI6i5db+AgDPJOe6pxVK rQQoGLiXpE/k3cYKnVBMHn4E9BWxgeSkl1ny+vpFIAqEa6Vsypkb77sMWf551sHbIURF KB0pIBFLrVjTUtsMuN76ljfwuGHip+Xb5xVwWvy+MARzu1zprHOqFyTiW2V25COrRGcI +Ugw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=nPXVzG5o2X54MLB3ZyDSI4pawnltFzWU5Saextq817o=; b=evgBq5pvpwOU5xUUvt3rpJPZhlcZNMWbTAvt/9k2O2ZMgkC87quFrmkl9TKEc+8fKa gZq3vkuGJCYw7FJdhP2RAf4bE6GStCqt2rpP47V3jNe2/cp4m/dbJp52sKetI6U+za4z L8D+40QjDTDLW/fWKoTEHnUSpCKVCHvkqxa5SwuE4iVr7BiCGSFhi1ueuGuFOfJMnubC hb4V2DST8Y9xuamhd8DjLeTXLyWLu/wt02NKRoSaOZU3NCczAcc3UtvxZ0yr8Q/knh2y UK7YyHgumRlni4oa5TGNNQCB+0Bu2I0WYi7yAf3FLdWQQsEs28DUw1O68Bs3/gO5T4C8 Lw7A== X-Gm-Message-State: AO0yUKVo4ajzz6WTbYsTns7f86RKM5O2aSFbw4HvLyVUw0EET6hSrHBx 9pQecFGOMPis9OGzLx4clbfdFA== X-Received: by 2002:a05:600c:a293:b0:3dc:59e9:9285 with SMTP id hu19-20020a05600ca29300b003dc59e99285mr11100382wmb.18.1675948429591; Thu, 09 Feb 2023 05:13:49 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ja13-20020a05600c556d00b003dc4b4dea31sm1789394wmb.27.2023.02.09.05.13.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Feb 2023 05:13:48 -0800 (PST) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, steev@kali.org, johan+linaro@kernel.org, quic_bjorande@quicinc.com, Srinivas Kandagatla Subject: [PATCH 2/5] soundwire: qcom: enable runtime pm before controller is registered Date: Thu, 9 Feb 2023 13:13:33 +0000 Message-Id: <20230209131336.18252-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> References: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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?1757359701538563897?= X-GMAIL-MSGID: =?utf-8?q?1757359701538563897?= Registering controller even before pm runtime is enabled will result in pm runtime underflow warnings. Fix this by properly moving the runtime pm enable before registering controller. Fixes: 74e79da9fd46 ("soundwire: qcom: add runtime pm support") Signed-off-by: Srinivas Kandagatla --- drivers/soundwire/qcom.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index 9d8ae77bad0a..b2363839624c 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -1417,6 +1417,12 @@ static int qcom_swrm_probe(struct platform_device *pdev) } } + pm_runtime_set_autosuspend_delay(dev, 3000); + pm_runtime_use_autosuspend(dev); + pm_runtime_mark_last_busy(dev); + pm_runtime_set_active(dev); + pm_runtime_enable(dev); + ret = sdw_bus_master_add(&ctrl->bus, dev, dev->fwnode); if (ret) { dev_err(dev, "Failed to register Soundwire controller (%d)\n", @@ -1435,12 +1441,6 @@ static int qcom_swrm_probe(struct platform_device *pdev) (ctrl->version >> 24) & 0xff, (ctrl->version >> 16) & 0xff, ctrl->version & 0xffff); - pm_runtime_set_autosuspend_delay(dev, 3000); - pm_runtime_use_autosuspend(dev); - pm_runtime_mark_last_busy(dev); - pm_runtime_set_active(dev); - pm_runtime_enable(dev); - /* Clk stop is not supported on WSA Soundwire masters */ if (ctrl->version <= 0x01030000) { ctrl->clock_stop_not_supported = true; From patchwork Thu Feb 9 13:13:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 54944 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp328333wrn; Thu, 9 Feb 2023 05:19:16 -0800 (PST) X-Google-Smtp-Source: AK7set+W/ns/Ln7VwugvP47tPei5Ew5bI9oXfaGvdXhaL/ZJQ1SWZe5ncP3TWF7a87UWForJ0Ixm X-Received: by 2002:a17:907:6ea8:b0:870:94e:13f9 with SMTP id sh40-20020a1709076ea800b00870094e13f9mr16542019ejc.0.1675948756483; Thu, 09 Feb 2023 05:19:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675948756; cv=none; d=google.com; s=arc-20160816; b=fkr3ET/vqIWChptMqwtkczpn2HuIP+v/lgtPxAFkzR0lRZPpFlcy6v6Ts2vSh4k/fm dN9SxKwOyRW5IgSa1hzdCYjcBoMhwBQki0/Ieelcezp2yc20wlkEweKWZ7xh6onq4cBD MMMwfXyI+4NFtz5vat6c0+9UuK813W3t89z+vI89P+84JfSyz16ZxNMd9n4JqyvWZnDR xF+4xB71DTkiN3qew+qdgqZVPtTIQ7HqB6VK8IWikugiY5vUsNqh875hfegXtXDOXYo6 xyGVA0rcw34mI8QctKCn/p4ckll2iZ7Ck2mnHm+khjZxSavajJqakGTnDKKpF5MCfT1P MIPA== 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=PtCm7HHmygVV89PU04X4kKxKy0d9QS0qb0ALCWzJ2AE=; b=whDhNSKMkSN/ku7u1+ERVsARP9zU5hMJpUNYd6HLaAoh+EyEkNEdC3A8AL6WS5PIC/ uGkZbhFuC1BSpWAt9+gl0ahvv1FNETlwkp5P6fWAdLVxh4lqhfHbr4YgUW4GZ+7N/Z+W p6t3ZxePCCNZJm5ZuGlrw7oBlS8bwmpWDRYh+/+OqUZbA7/TvetXJhP3pfkASkHYUuoh fNviNfWmkqhZXK+dyXd8+uRS6j097SeLjHMHFvZMDbnhneDEADSu+knYFSTRZAvUK8LW 6WPgSrpgQ0w/98x6HeXfeOZPDYkNNpffrfMzhQ2RceQcoFw3xMj6S+fTWHMfF03MNhNF MDLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eSuI9Zqf; 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 fw18-20020a170907501200b0089558be04d2si2212169ejc.899.2023.02.09.05.18.53; Thu, 09 Feb 2023 05:19:16 -0800 (PST) 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=eSuI9Zqf; 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 S230050AbjBINOA (ORCPT + 99 others); Thu, 9 Feb 2023 08:14:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229447AbjBINNx (ORCPT ); Thu, 9 Feb 2023 08:13:53 -0500 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E4CD5D1F6 for ; Thu, 9 Feb 2023 05:13:52 -0800 (PST) Received: by mail-wm1-x32a.google.com with SMTP id c4-20020a1c3504000000b003d9e2f72093so3843959wma.1 for ; Thu, 09 Feb 2023 05:13:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=PtCm7HHmygVV89PU04X4kKxKy0d9QS0qb0ALCWzJ2AE=; b=eSuI9ZqfTFGJOUknn/oOE6Qc01UKQtJJwm8VLN8g1fySb9QrJk6G4Hp6FLYreiKmA8 0CiV/M+NSOwLIvlOFBCO4kCFbkNmdhiNUkHEYUa4+yYKKPcx4Ixm2Y3/d8ZhNTYpJlPQ mdTKwLDVP3iLzONlcUZT9P5bT2/jVxg6HJbRiRhm3e0LsXBCkALnt9kpadjxUtx9SM5e dN9Run2nQ2NC0RJEXdwEcXzfWAsUNAPXeVJzYrRM8oZZ+Jm/GuoGWHFpbyBzUnw/TViC 33RQpX9wjEPe/5l2sAsCHy+7eCHOPTipoEnzHpRfNTZO3KvAIuFmqNZ5CKwZ+9yWPfJs Abkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=PtCm7HHmygVV89PU04X4kKxKy0d9QS0qb0ALCWzJ2AE=; b=HyEqA1aOtK5Uwzy0b0l+SYw7P+r/MOIiZBrYEXWM3o4i3gwVUqg8UU7Js58jqDBf5R hYLz7tD6bj+CWqiToPIZsHRUcpgaJAVvBvy5ez+q2pTFwBc8AokZTz6UXksMQB++bL/D TYjy54K0KWbq6t+DUTDx/g8r8ltHtc5NSjJnVucgzXIZc3RQho39YIsnOYSLn39QB0mK m5gFVxcCCAcd+CoPnXSyArW/4eN8mMzv4xU22Rn9DPLlrixht7cnK1oD/gQxHV+pBDOJ VHJ5quoEyn43VnrSyULHsFkPq2LAWUIcKilIh7ewvFycXnbf2mjeZyLiWshXLv/ldpkB FBrA== X-Gm-Message-State: AO0yUKWAljLyZJcsxNk86z5Hj1G8QTgQUHOCi3USHb/9/UndGZ95Lw0m Iif2DTY6L6A5TAeULrQJEHu+xprxwgFfJkLB X-Received: by 2002:a05:600c:3198:b0:3e0:15c:3573 with SMTP id s24-20020a05600c319800b003e0015c3573mr9426269wmp.35.1675948430859; Thu, 09 Feb 2023 05:13:50 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ja13-20020a05600c556d00b003dc4b4dea31sm1789394wmb.27.2023.02.09.05.13.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Feb 2023 05:13:50 -0800 (PST) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, steev@kali.org, johan+linaro@kernel.org, quic_bjorande@quicinc.com, Srinivas Kandagatla Subject: [PATCH 3/5] soundwire: qcom: wait for fifo to be empty before suspend Date: Thu, 9 Feb 2023 13:13:34 +0000 Message-Id: <20230209131336.18252-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> References: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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?1757359642996446768?= X-GMAIL-MSGID: =?utf-8?q?1757359642996446768?= Wait for Fifo to be empty before going to suspend or before bank switch happens. Just to make sure that all the reads/writes are done. Signed-off-by: Srinivas Kandagatla --- drivers/soundwire/qcom.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index b2363839624c..465b2a2ef0d5 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -325,6 +325,32 @@ static int swrm_wait_for_wr_fifo_avail(struct qcom_swrm_ctrl *swrm) return 0; } +static bool swrm_wait_for_wr_fifo_done(struct qcom_swrm_ctrl *swrm) +{ + u32 fifo_outstanding_cmds, value; + int fifo_retry_count = SWR_OVERFLOW_RETRY_COUNT; + + /* Check for fifo overflow during write */ + swrm->reg_read(swrm, SWRM_CMD_FIFO_STATUS, &value); + fifo_outstanding_cmds = FIELD_GET(SWRM_WR_CMD_FIFO_CNT_MASK, value); + + if (fifo_outstanding_cmds) { + while (fifo_retry_count) { + usleep_range(500, 510); + swrm->reg_read(swrm, SWRM_CMD_FIFO_STATUS, &value); + fifo_outstanding_cmds = FIELD_GET(SWRM_WR_CMD_FIFO_CNT_MASK, value); + fifo_retry_count--; + if (fifo_outstanding_cmds == 0) + return true; + } + } else { + return true; + } + + + return false; +} + static int qcom_swrm_cmd_fifo_wr_cmd(struct qcom_swrm_ctrl *swrm, u8 cmd_data, u8 dev_addr, u16 reg_addr) { @@ -356,6 +382,7 @@ static int qcom_swrm_cmd_fifo_wr_cmd(struct qcom_swrm_ctrl *swrm, u8 cmd_data, usleep_range(150, 155); if (cmd_id == SWR_BROADCAST_CMD_ID) { + swrm_wait_for_wr_fifo_done(swrm); /* * sleep for 10ms for MSM soundwire variant to allow broadcast * command to complete. @@ -1122,6 +1149,7 @@ static void qcom_swrm_shutdown(struct snd_pcm_substream *substream, { struct qcom_swrm_ctrl *ctrl = dev_get_drvdata(dai->dev); + swrm_wait_for_wr_fifo_done(ctrl); sdw_release_stream(ctrl->sruntime[dai->id]); ctrl->sruntime[dai->id] = NULL; pm_runtime_mark_last_busy(ctrl->dev); @@ -1558,6 +1586,7 @@ static int __maybe_unused swrm_runtime_suspend(struct device *dev) struct qcom_swrm_ctrl *ctrl = dev_get_drvdata(dev); int ret; + swrm_wait_for_wr_fifo_done(ctrl); if (!ctrl->clock_stop_not_supported) { /* Mask bus clash interrupt */ ctrl->intr_mask &= ~SWRM_INTERRUPT_STATUS_MASTER_CLASH_DET; From patchwork Thu Feb 9 13:13:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 54945 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp328507wrn; Thu, 9 Feb 2023 05:19:41 -0800 (PST) X-Google-Smtp-Source: AK7set99PJVxAHOTSJS+CGKt02Q/+8M6uOc/p91j7ZiX+a5a5ZnlpVMOygdHVO+RTdpK60STOpnO X-Received: by 2002:a17:906:71c3:b0:888:4f0e:bb72 with SMTP id i3-20020a17090671c300b008884f0ebb72mr10579131ejk.40.1675948781288; Thu, 09 Feb 2023 05:19:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675948781; cv=none; d=google.com; s=arc-20160816; b=UeENTzG6K0Sw7rO283kRIxrV9g6U6ViNvCIx62eCJF8FtYwHTvafOBaT2707a2Fl+h wIFzxKx5/fEsXFBt56Stp7Jl5Ysm67YVStOCNP7GLGNOSti7HvsZS2xD7Jc7EzqUNbhK gXLZRKYfRBM+9Rjv4r3YA6RQRF2YUpzKX69N856ovjZdWEMMObmuwKLFrw0D3Be9ZwkK pHWs9NKytv4+AFi+n2zaeV5LktA80M4R+PpBWHe7brHwNR9FoVD9L7hFrfAlUC7CBzH/ YXzQ5pAiNVSlvqbV6/vGwaygDcJah6moQ5aSaVWg5rVdEgDJNcsCbWn/sgObPqzBA7UW rH+A== 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=efw37swPmywJmQt7P4bh+b3QJPTdP5Sd+iv+/8BqF9I=; b=blEbQnYw8co0UOGSNUsRcNHuZ1PEHnp74rxk/Bq+KM9WIxQy03PhwwuEcBDvBfS+RN 9Wkh3nPcWBRu4OcahaLaKsVNlbv1DFP9I/jN1qGY3TT1pf0Q4hyvrdy5AYDnEF7iFBCV QFvI0p4KtiYe54YBDFA4VnMPDx2j988YL5SrWJ/LJLDjwhlIVDY0E1D4pO0pKWrJCdSA jkERqwIL4M0Eflw6fjxjuw4SfGSYRG8w7GYFcJ1L9b5GI3gEKmRjKcZ+9SRvo9jD8/96 KNN6ABqmsxThTdXo2+qkPS/pA2tChFMLEcRWAsPpYAKgMkhShjPfAlyzYMUYXWCurFkC o31A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Hm2UVZKn; 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 mr20-20020a170907829400b0087777979e5esi2265908ejc.808.2023.02.09.05.19.18; Thu, 09 Feb 2023 05:19:41 -0800 (PST) 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=Hm2UVZKn; 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 S230088AbjBINOI (ORCPT + 99 others); Thu, 9 Feb 2023 08:14:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41762 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230036AbjBINN4 (ORCPT ); Thu, 9 Feb 2023 08:13:56 -0500 Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD2B45EBFC for ; Thu, 9 Feb 2023 05:13:53 -0800 (PST) Received: by mail-wm1-x335.google.com with SMTP id f23-20020a05600c491700b003dff4480a17so3905842wmp.1 for ; Thu, 09 Feb 2023 05:13:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=efw37swPmywJmQt7P4bh+b3QJPTdP5Sd+iv+/8BqF9I=; b=Hm2UVZKn8j00Xjy+/2jHbryM9Im/P1TEbXrvCJSQWCI6WDeX7JKZNB+r2LeTFR8Duw 52SEspmzdvCK7mZpMpE6Agh8BZZJihf+YT70iQ1F4ISTC7PC3AOpxn9ITwD8rZ+JfnoI HOvRf/nRzH9eqPec2J9G+fldT14gl3Rt7V/8u6ZrQ2pAJYnunMy+MIxLx219gj5BUEM7 6GKNHu1jwzOCT8D3gVJWXcntWIifvc4H8c9q/fdeGKyghfeMfbS9X5WY/dfG1PxFYu/i McaheEHsr8hGwE0cqZi0umwPzXKer2TiGkMMnBSXrisXnd3RzyOpGL/JY22nDtqROyfR Fg9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=efw37swPmywJmQt7P4bh+b3QJPTdP5Sd+iv+/8BqF9I=; b=wrUo9qAHRfb+CFKlLdgacSq//oDgrmg6m1J4ZP22OHqgQuUESecjXUjgVuZMGu9LDM ITr9HKkzxBpkb0IFduLqUAX6hK3taNDWBxcLSvjgE+5HF6ebx8NavDjnjroUy02j9rrB Dp/6cmpMvDckKxZ+r1vgxHRYdr36uG1nx6TLn4gzTUYZgr2NDSAwplq3S0Tgm8qJNM6V vqcQM1LWdnwKUjW6uUROQjiRKyu2cLDNO3KomGJJwhMvZ3tcR2aY4mkNxrp8BFGwxsNP C+rz4EqddaSzrfazkSDZYa33gVeBEmzRw6mdI5oP5mx43kkJ4t6VP+1+5IYPENgjN+4t BA6A== X-Gm-Message-State: AO0yUKVVM4cFKyDx2u59L3obPI4BuJQnP9k/+zFPRfKL1nk1qx2c9+cJ eIf2YxFqT/8p6qxC1vu68dm2NQ== X-Received: by 2002:a05:600c:1686:b0:3db:2df0:f2b8 with SMTP id k6-20020a05600c168600b003db2df0f2b8mr5574813wmn.36.1675948432059; Thu, 09 Feb 2023 05:13:52 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ja13-20020a05600c556d00b003dc4b4dea31sm1789394wmb.27.2023.02.09.05.13.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Feb 2023 05:13:51 -0800 (PST) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, steev@kali.org, johan+linaro@kernel.org, quic_bjorande@quicinc.com, Srinivas Kandagatla Subject: [PATCH 4/5] soundwire: qcom: add software workaround for bus clash interrupt assertion Date: Thu, 9 Feb 2023 13:13:35 +0000 Message-Id: <20230209131336.18252-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> References: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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?1757359669547792955?= X-GMAIL-MSGID: =?utf-8?q?1757359669547792955?= Sometimes Hard reset does not clear some of the registers, this sometimes results in firing a bus clash interrupt. Add workaround for this during power up sequence, as suggested by hardware manual. Signed-off-by: Srinivas Kandagatla --- drivers/soundwire/qcom.c | 55 ++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index 465b2a2ef0d5..74e38c0d651b 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -697,6 +697,26 @@ static irqreturn_t qcom_swrm_irq_handler(int irq, void *dev_id) return ret; } +static bool swrm_wait_for_frame_gen_enabled(struct qcom_swrm_ctrl *swrm) +{ + int retry = SWRM_LINK_STATUS_RETRY_CNT; + int comp_sts; + + do { + swrm->reg_read(swrm, SWRM_COMP_STATUS, &comp_sts); + + if (comp_sts & SWRM_FRM_GEN_ENABLED) + return true; + + usleep_range(500, 510); + } while (retry--); + + dev_err(swrm->dev, "%s: link status %s\n", __func__, + comp_sts & SWRM_FRM_GEN_ENABLED ? "connected" : "disconnected"); + + return false; +} + static int qcom_swrm_init(struct qcom_swrm_ctrl *ctrl) { u32 val; @@ -741,16 +761,27 @@ static int qcom_swrm_init(struct qcom_swrm_ctrl *ctrl) SWRM_RD_WR_CMD_RETRIES); } + /* COMP Enable */ + ctrl->reg_write(ctrl, SWRM_COMP_CFG_ADDR, SWRM_COMP_CFG_ENABLE_MSK); + /* Set IRQ to PULSE */ ctrl->reg_write(ctrl, SWRM_COMP_CFG_ADDR, - SWRM_COMP_CFG_IRQ_LEVEL_OR_PULSE_MSK | - SWRM_COMP_CFG_ENABLE_MSK); + SWRM_COMP_CFG_IRQ_LEVEL_OR_PULSE_MSK); + + ctrl->reg_write(ctrl, SWRM_INTERRUPT_CLEAR, 0xFFFFFFFF); /* enable CPU IRQs */ if (ctrl->mmio) { ctrl->reg_write(ctrl, SWRM_INTERRUPT_CPU_EN, SWRM_INTERRUPT_STATUS_RMSK); } + + /* Set IRQ to PULSE */ + ctrl->reg_write(ctrl, SWRM_COMP_CFG_ADDR, + SWRM_COMP_CFG_IRQ_LEVEL_OR_PULSE_MSK | + SWRM_COMP_CFG_ENABLE_MSK); + + swrm_wait_for_frame_gen_enabled(ctrl); ctrl->slave_status = 0; ctrl->reg_read(ctrl, SWRM_COMP_PARAMS, &val); ctrl->rd_fifo_depth = FIELD_GET(SWRM_COMP_PARAMS_RD_FIFO_DEPTH, val); @@ -1504,26 +1535,6 @@ static int qcom_swrm_remove(struct platform_device *pdev) return 0; } -static bool swrm_wait_for_frame_gen_enabled(struct qcom_swrm_ctrl *swrm) -{ - int retry = SWRM_LINK_STATUS_RETRY_CNT; - int comp_sts; - - do { - swrm->reg_read(swrm, SWRM_COMP_STATUS, &comp_sts); - - if (comp_sts & SWRM_FRM_GEN_ENABLED) - return true; - - usleep_range(500, 510); - } while (retry--); - - dev_err(swrm->dev, "%s: link status not %s\n", __func__, - comp_sts & SWRM_FRM_GEN_ENABLED ? "connected" : "disconnected"); - - return false; -} - static int __maybe_unused swrm_runtime_resume(struct device *dev) { struct qcom_swrm_ctrl *ctrl = dev_get_drvdata(dev); From patchwork Thu Feb 9 13:13:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 54946 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp328519wrn; Thu, 9 Feb 2023 05:19:43 -0800 (PST) X-Google-Smtp-Source: AK7set/7v2opdsl38FuBA31K6557wUPs+P/LdLxzalCE2CEaOZopgGuIAMeolhbJP4wOxGNzoF0k X-Received: by 2002:a50:ce54:0:b0:4ab:2516:2018 with SMTP id k20-20020a50ce54000000b004ab25162018mr845121edj.38.1675948783066; Thu, 09 Feb 2023 05:19:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675948783; cv=none; d=google.com; s=arc-20160816; b=Ct4g/3AvGU52XQMvgHAoTZRwZTjYxwlF0JJXpZiNCcR2wp5z5G0d7kSL3fkkqxGGvT UIF2ye3TdkNVSDCex3mD9stQ362YbItmaSKmjJ9Hdlhd9j0fxQsUpcyaOEdpxI2Mitce wE6aTRr+QMWnXDh0HOyz6xgqxCdE3NM59Zvt7ypTFP26issDpp5Y/G7sZFEbmlh0Sz1h DnRLypHlCf3grVZroyhIJ+gSe+Jl895JDpQqAHf33NKO2uPcQ1G7eDLc5Jfp4KKiGXji n4r2IPE4pQZO67s2reB8e9W6dvQCwfADggjMfpcP6hPLeUhesGCp41gP/HMGTwy7oWz0 1o6g== 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=NPMNrqeZWO55o8AuAcgfBuwWh3I0TkN1wM5VoUAdYRc=; b=Ed8VXIDr/gwkELmzEDCgAhUCBTXtC3nt7CFNMbxdz+2Uh1Tz5U9Z/ZzaLdp0KLFl0/ EHIgyMvnLReejkqsqRC0EdULG3YggrC9VJBOJupTR+4P8dbKO/R0fNeBg7Nj0R5xAhHo BjYMvOXRX4+1i/gEKjbK2K8hSqJkCZ2sIqkZVW3QqFESEaEs4mRMFGdr1MWYIIxciERU s8/jSwiSYvXakUOa/kogA7kYnNPT8QPyk509vZS4c5DOriw1T3EmWCyLEn6TiU8dkO+N wRMsLNY7s8pcm5w0LP80tll/Mo4CuT2ZIL+L/sVCtKl8osP3CIF8c57E25cgKp0apjb7 5WPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="P5/7vAmo"; 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 wc5-20020a170907124500b008546dd18d16si2211087ejb.51.2023.02.09.05.19.20; Thu, 09 Feb 2023 05:19:43 -0800 (PST) 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="P5/7vAmo"; 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 S230131AbjBINOK (ORCPT + 99 others); Thu, 9 Feb 2023 08:14:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230039AbjBINN5 (ORCPT ); Thu, 9 Feb 2023 08:13:57 -0500 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D95A15ACC4 for ; Thu, 9 Feb 2023 05:13:54 -0800 (PST) Received: by mail-wm1-x333.google.com with SMTP id n13so1385324wmr.4 for ; Thu, 09 Feb 2023 05:13:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; 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=NPMNrqeZWO55o8AuAcgfBuwWh3I0TkN1wM5VoUAdYRc=; b=P5/7vAmoDhtyUlDOFPxWWFRqeYKHw8doDPEZBBNdtIVq/tXEgqP6HDXkgsDHQG75uj BuJV5vmjH4QrQCnfFzzcRmVT3ejoinm3y5GEBKxcEeeD05XKfjCBAClKGnST3B8MQWBn Oc9ahTVyT17Vg+/x06m23nWOiXJ4PHkiIM5dWbGETfG8UKXs8GnE9P+l+9vGNhAOPryv SB4acICvJP0dUJDt6xotz75JpNVjolbpfbeHUVPmCeXC2RzRWI3hzObNL8NU/+9JNPDt 2mOU8jfUcVHMFTisSeQ4GxV8m4O9Zrv8n5ZG1Pox+2DVnyTohSu+1Kuswuhi67g9tHme /3zQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=NPMNrqeZWO55o8AuAcgfBuwWh3I0TkN1wM5VoUAdYRc=; b=hWWlqFftJj7yDa5jRuEpdpcalsDdRTs4W8h1K0XSpFmvvmsQLXfcoA+cyQof0JAAUo VUe6cFO7Ac34C9jo+fH7GwYs5ELUWm8v5NzS0r2BfzS+O+EadtU2q+9AfDWPDQ0/0ORG HDnHXKg/92EGomnwWWQwBTmH0Q8AgyP2e8HXALY3tyKKbSWFZ/BYf44v7G6QmN4/Nxws mJ2rhSKAjnmCoHfNKc7PXwIWIoHI9XPEMErN/uxyhGhL0Lmep7bFeDyRy2jRl+YN5/Dj MTjgBTjaqksNwTWNb1qWh6bdglbFRkX85e/7DBof2c80TuUTk79t88WP+diUDMLCeEB4 bPwA== X-Gm-Message-State: AO0yUKXYPVVuFc85x5WFoBuT4x4CBKkoTnXDwOwTOIuqZqaJctGVgrNz Bz6N3tXy4kwDZnww1PZPlSf0vQ== X-Received: by 2002:a05:600c:4485:b0:3dc:51ad:9dc4 with SMTP id e5-20020a05600c448500b003dc51ad9dc4mr9701331wmo.18.1675948433322; Thu, 09 Feb 2023 05:13:53 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ja13-20020a05600c556d00b003dc4b4dea31sm1789394wmb.27.2023.02.09.05.13.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Feb 2023 05:13:52 -0800 (PST) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, steev@kali.org, johan+linaro@kernel.org, quic_bjorande@quicinc.com, Srinivas Kandagatla Subject: [PATCH 5/5] soundwire: qcom: set clk stop need reset flag at runtime Date: Thu, 9 Feb 2023 13:13:36 +0000 Message-Id: <20230209131336.18252-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> References: <20230209131336.18252-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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?1757359670799531541?= X-GMAIL-MSGID: =?utf-8?q?1757359670799531541?= WSA Soundwire controller needs an full reset if clock stop support is not available in slave devices. WSA881x does not support clock stop however WSA883x supports clock stop. Make setting this flag at runtime to address above issue. Signed-off-by: Srinivas Kandagatla --- drivers/soundwire/qcom.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index 74e38c0d651b..0224a5a866de 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -536,10 +536,14 @@ static int qcom_swrm_enumerate(struct sdw_bus *bus) sdw_extract_slave_id(bus, addr, &id); found = false; + ctrl->clock_stop_not_supported = false; /* Now compare with entries */ list_for_each_entry_safe(slave, _s, &bus->slaves, node) { if (sdw_compare_devid(slave, id) == 0) { qcom_swrm_set_slave_dev_num(bus, slave, i); + if (!slave->prop.simple_clk_stop_capable) + ctrl->clock_stop_not_supported = true; + found = true; break; } @@ -1500,15 +1504,6 @@ static int qcom_swrm_probe(struct platform_device *pdev) (ctrl->version >> 24) & 0xff, (ctrl->version >> 16) & 0xff, ctrl->version & 0xffff); - /* Clk stop is not supported on WSA Soundwire masters */ - if (ctrl->version <= 0x01030000) { - ctrl->clock_stop_not_supported = true; - } else { - ctrl->reg_read(ctrl, SWRM_COMP_MASTER_ID, &val); - if (val == MASTER_ID_WSA) - ctrl->clock_stop_not_supported = true; - } - #ifdef CONFIG_DEBUG_FS ctrl->debugfs = debugfs_create_dir("qualcomm-sdw", ctrl->bus.debugfs); debugfs_create_file("qualcomm-registers", 0400, ctrl->debugfs, ctrl,