From patchwork Thu May 25 13:38:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 99033 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp385000vqr; Thu, 25 May 2023 06:51:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6BU6KtJ8YB8O35uU9xwVWGpbBpi342KzvnwfzhFIs+Os8FCgqDWV+quE53jrkNR91jOfrd X-Received: by 2002:a17:903:2441:b0:1ae:2b94:7016 with SMTP id l1-20020a170903244100b001ae2b947016mr1871661pls.55.1685022717062; Thu, 25 May 2023 06:51:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685022717; cv=none; d=google.com; s=arc-20160816; b=oXCtPBKrgeG6u31v5TxOOco5QlgP9G1lK4/tiFqTymi/LxOQaKN5/LFZ/VRVoYc8Gx HJc8wek/V8dny+nBLE05PCIo3q65RCe8JQvNpjZ3vkbXlADwcN69V0vRoV5K6ikwDJAO 2xAhDf7vwgtwmRLPo9FqwIGaDUWpZgRtV0sn96ge6HC1IN5eNKSdnqYNgpu3v4m77SCU ey6xhvEUkbmkgn6xlxg1AdKAA9EPrixmXQeOFuTwM1st3escwE2R92GI6IGfM7Zqn5cF 4DM+PKQy6HVg0dHzq4GqTWhJQFt8m/jmK4pUpKc65I3MxJiohPinoHgMy+oDatrgQM2m owsA== 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=3GVjrhO4+wX67tAd5gKWT8UX+KnLSIyA9RaY+rGVUm8=; b=rw2QHxCogLPI/Tg3tH6mIc2VLo5muJ7abKs/6tHFm35IomM0ebtfR8xeEgAqCLl+Tm t8o7m/LBPEANpSVD82NlTZ9OJmlsVQJ0/og2FtGvmU5q3k/bHfUMNX4l3mk5+/kVhwBX Rgtboh3A3AhayTztmRNSgs1VVn8x2iW6OeGiF9fayRmw5/2BGb9NmjIks+nj8NOe/hqa Zt4lpKoDza48CMMxeTtuThYY/EyZjAOtp8myDFka/3CWorqHAnSfyvamkJpyu/fXCnrD xMYo9obv68NO4lrni9BsRWhwUF/16WNuXXxT88F8DFfkLpJgcrgS2mci8ZXwZ6MQ1wXi /uLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=X1Hw6Xzq; 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 f8-20020a170902ce8800b001afbfb0e80fsi1497668plg.453.2023.05.25.06.51.42; Thu, 25 May 2023 06:51:57 -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=X1Hw6Xzq; 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 S241201AbjEYNi7 (ORCPT + 99 others); Thu, 25 May 2023 09:38:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241137AbjEYNix (ORCPT ); Thu, 25 May 2023 09:38:53 -0400 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4AA491A7 for ; Thu, 25 May 2023 06:38:49 -0700 (PDT) Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-30789a4c537so1469096f8f.0 for ; Thu, 25 May 2023 06:38:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1685021927; x=1687613927; 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=3GVjrhO4+wX67tAd5gKWT8UX+KnLSIyA9RaY+rGVUm8=; b=X1Hw6XzqT2tCaEFAbBeyu2o+ljfzQPvtuTFskLmVPUAkg/4BkcJV8Zd6VaLsby29Gg vMDO16B7GXss94RdI/jUOvLfpkyHTCixhDSG+fvY5UT3CvijIF8j9RqwWAWaHgSzN+Tv HON9LXdlJsqIxG7l5Hmuq4m//jDrI++PiFLuHvdsbL5hjsRJ2UceFXWZ+077bluACqAq jh/fE4iwx5s5zAeh4bdbuGw15gcnYAeDlvHA4IgUpOz5IgW6EZZF0snzJR0d4MLxIMhx Fb7X4++8GSf7phrVGaBFNWP/7tAp8UzF4F5GHbdaGSHjCNGMpatzDStjoDJiVO22qBQ7 cKJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685021927; x=1687613927; 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=3GVjrhO4+wX67tAd5gKWT8UX+KnLSIyA9RaY+rGVUm8=; b=IZU1lpZ/alscbe5wuL/9kkkR9LGvq35Se7zRZHEk4z18yBnL78d5wD9twy0moPNSim 0u4UvcvQnWfLA46sN7tl4V39iUo9vpbuKooygpgHo8SYpToS/ae7nZI1Lx49F7PMbNpq Fahnb1STvRVoqlR0jUfHdpL9xSOGUkdAZrKyw/Goapz2FR6789BpYPWZODt3+qDs0Ldc M0cHmfwobcHsvdfVfKbaOiqz8Sr1irLyNlgfYQRcsyJmFb5HrcUnecnL/6HFAnPcF0o5 S5T0Q6USjVbeElUisYMmJxzS5XUucrPYyqlg4ttb1+yqgb9I8CGfWqmakXdrYkNHcmIK KPaQ== X-Gm-Message-State: AC+VfDz7lMH3r1tZOMpCKceG8sa0u8T8/ea79Mv/q/3XsZxTtpKbAFYP lPdlHSQPwdYzVLMsp0E4tlT89w== X-Received: by 2002:a5d:4526:0:b0:306:36ef:2e3b with SMTP id j6-20020a5d4526000000b0030636ef2e3bmr2078354wra.70.1685021927652; Thu, 25 May 2023 06:38:47 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id z17-20020a5d6551000000b00301a351a8d6sm1803641wrv.84.2023.05.25.06.38.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 May 2023 06:38:47 -0700 (PDT) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: andersson@kernel.org, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, sanyog.r.kale@intel.com, linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 1/4] soundwire: qcom: update status correctly with mask Date: Thu, 25 May 2023 14:38:09 +0100 Message-Id: <20230525133812.30841-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230525133812.30841-1-srinivas.kandagatla@linaro.org> References: <20230525133812.30841-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,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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?1766874380453225326?= X-GMAIL-MSGID: =?utf-8?q?1766874380453225326?= 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 aad5942e5980..9440787e924b 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -515,7 +515,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 May 25 13:38:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 99034 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp386374vqr; Thu, 25 May 2023 06:54:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7O+I8/OH4xr87nv8CQx4whqglhJFj7bAVR5/EBMMojvqZNwI/rpKgvuRRIJkuYMndoEMSr X-Received: by 2002:a17:90b:3902:b0:244:9385:807f with SMTP id ob2-20020a17090b390200b002449385807fmr1798732pjb.44.1685022860449; Thu, 25 May 2023 06:54:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685022860; cv=none; d=google.com; s=arc-20160816; b=ex7Fo3N1iLLvCVSTyCOlwMmIKz/hXb/ORTYGIdwWpJK32NnwegZq0GP50aEnRKJMNW dpkqMdUpsGUhnpW5IPcVHA6/5RR6PKE5gwyekJWvobzmxmi99KlgPUWHI5SciLqfqp9y LjDfDtmUwUU0LRwQC7t0cBDjFgrJdY46mTsJZdvDYhqTuut7jRxUUuOC5oq9ETD2Ad5j w0qKyMlqiOVJldPkYnWmJP/zHz2BsrxkeSZhtploc3arBRADpa3+WfvMak2QFa6SnL1W 1n4n9OJteeXq8J0kak5RJPQo4+iPsNwxnklKxfk4HoHLijm/OxJnyPLVI+izhQirGK50 Cvkg== 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=UyuLCEhn8GX5O7IyV3OsDqUmT5UuCj/vH6uAj7jFQ0U=; b=XLlCBc5HxcrHjA2JmHEIyzp+zSuBeVaWfnVQ8nLp5j5Q1yysyRNKsuQJ+/FoGL0gzt JIyZ4jOhEm4/6Hqqk+0rWWYw8DFvLfrBWfxqJCfnk+b0NgXzlgECq7LpRKjWDQ2o9Pmu WLw/QEWRnmo5+TuhF17tVISAz7HvRCNjiwyA1BEnMJXsvRaIq+6Lwq5hAkBMu/4M+W3M q9Oe6n32Wm0vaszUDfr/mLm2r6/iMNvYLrliShEjs+Xu8HahLa2HDSQNV+qdgz9vg0eY rGz3R58pCtXvkUOLfyZqfc3YMH0mCgO6b8TJX6NwjYqocqFr8mP/NuP8pD2vgDzQRU/w /fyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=X916qYIO; 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 cu2-20020a17090afa8200b002535e5e607csi2677463pjb.77.2023.05.25.06.53.54; Thu, 25 May 2023 06:54:20 -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=X916qYIO; 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 S241352AbjEYNjC (ORCPT + 99 others); Thu, 25 May 2023 09:39:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241332AbjEYNiz (ORCPT ); Thu, 25 May 2023 09:38:55 -0400 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6239F1A8 for ; Thu, 25 May 2023 06:38:50 -0700 (PDT) Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3093d10442aso1429864f8f.1 for ; Thu, 25 May 2023 06:38:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1685021929; x=1687613929; 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=UyuLCEhn8GX5O7IyV3OsDqUmT5UuCj/vH6uAj7jFQ0U=; b=X916qYIOlP2m32ZpnG9P9ll3mYMCDzS1HhJHfPkU9SptQ4EpmpeTWxXEcu+VwpK4BH xmw5QJwQWqHyAfxhuO3CQ/nTD85vSeKKEC7fgPHvpuLh4DlrHIS7akh/A9XFK8cM1CJY g/JzfCtgU4HjHgPvbJbEUYinHXKsn7j+Z7rWF2N8NBCS1rq7RoiCHRBPwvd2gdvsTrn+ Jfc5mi30sITqFdL79WFHe/SUO+2C+zHQyYxiuUhJl9tQbelV9htUipV/IMB35fCTaa+w DQ30OxUemA2kjVyQhUwP6sW6G5L7RcNgS5XfGN6xUhaKdnhzaWsnyh2PPpJ4oq7nujoS KLDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685021929; x=1687613929; 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=UyuLCEhn8GX5O7IyV3OsDqUmT5UuCj/vH6uAj7jFQ0U=; b=kFNR8kB/JRaVYqv/XKd6f6t4Oct7jtdcWirPTc8KT4p0/HP58aBH8QGMd3gVtXiLMr XrZlgxBKR48Z5JjB9SILMBKsqZZPY4zTVBn0HHatQz62e9BLV6OhJO/CJWiVDCBvGqp5 75IhAX0yrL6SdxHrNql7NTDWD99l7Ii7R2OSLN0uiKmpyK+DfICAcXsKaNNG0gWfOSlb JpoNTMPbDT1Hdd6o9JboCabywfSddNvCUmDT6IGwaiGae+zDqTfYvSbjSmtB2dN9RSl7 ynbsg5B77KBFQv/1Pucezw3eRUMAWOXuAwkF5pk+3bPUN5gonlDWNoCl7WJYgyvpAioJ gMEg== X-Gm-Message-State: AC+VfDy8iZ1RGEzwsFN1BTslJFFglwW2V5+5jf+bCjvdUnMZkP7T2I3Q PHJArmO6PS3uoJ121SQHgxhXuw== X-Received: by 2002:adf:f251:0:b0:306:31e0:958 with SMTP id b17-20020adff251000000b0030631e00958mr2346226wrp.15.1685021928828; Thu, 25 May 2023 06:38:48 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id z17-20020a5d6551000000b00301a351a8d6sm1803641wrv.84.2023.05.25.06.38.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 May 2023 06:38:48 -0700 (PDT) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: andersson@kernel.org, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, sanyog.r.kale@intel.com, linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 2/4] soundwire: qcom: wait for fifo to be empty before suspend Date: Thu, 25 May 2023 14:38:10 +0100 Message-Id: <20230525133812.30841-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230525133812.30841-1-srinivas.kandagatla@linaro.org> References: <20230525133812.30841-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,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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?1766874530815780080?= X-GMAIL-MSGID: =?utf-8?q?1766874530815780080?= 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 9440787e924b..adf025194a31 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -404,6 +404,32 @@ static int swrm_wait_for_wr_fifo_avail(struct qcom_swrm_ctrl *ctrl) return 0; } +static bool swrm_wait_for_wr_fifo_done(struct qcom_swrm_ctrl *ctrl) +{ + u32 fifo_outstanding_cmds, value; + int fifo_retry_count = SWR_OVERFLOW_RETRY_COUNT; + + /* Check for fifo overflow during write */ + ctrl->reg_read(ctrl, ctrl->reg_layout[SWRM_REG_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); + ctrl->reg_read(ctrl, ctrl->reg_layout[SWRM_REG_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 *ctrl, u8 cmd_data, u8 dev_addr, u16 reg_addr) { @@ -434,6 +460,7 @@ static int qcom_swrm_cmd_fifo_wr_cmd(struct qcom_swrm_ctrl *ctrl, u8 cmd_data, usleep_range(150, 155); if (cmd_id == SWR_BROADCAST_CMD_ID) { + swrm_wait_for_wr_fifo_done(ctrl); /* * sleep for 10ms for MSM soundwire variant to allow broadcast * command to complete. @@ -1230,6 +1257,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); @@ -1688,6 +1716,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 May 25 13:38:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 99035 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp386444vqr; Thu, 25 May 2023 06:54:29 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6MZwOcYuRhKlt4T6kbk1hc7BmvYSCfBsPMCV7t6wdJWU6DwUyxHuwDiSgNwBuyE4bMdQcc X-Received: by 2002:a05:6a20:3953:b0:10c:2fe0:b3d with SMTP id r19-20020a056a20395300b0010c2fe00b3dmr13802216pzg.33.1685022869369; Thu, 25 May 2023 06:54:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685022869; cv=none; d=google.com; s=arc-20160816; b=eUT8FSDuKPe5DMZ9WnewTGNMNKO9JKAmzNS7jq53k005y4oivpdnsRffb/MGpdraCT Px+8ZQIquW5rQ5Phhj5x9mdMKyDrxg/n8iXwf4/kmBarnJI/XnPA/fGL2c25lrHeTxNY ZenqhxVx7yR1Ty0jpi2jsQLutWINols8Eayr+5viiZopsySEd557dLglJYTaPUgXj+Ln ZBZz6YSdS+GQqRgzFAz6tsleEsbBoSFRPoBijYSps8hw1CIblWnlo5KsjpfRtx/1geUW 4nIzzGnC8S/VFVoqvX64pW1r4ZULr4WbGoDvUNYirmmViqWj5rj5/XRzCpBnXJDQE0Le 09fw== 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=0e4d294AXuwEBJZs4agoGK3jhgST3++yYamvsMPJTfc=; b=p0VnLEppfmUdvQEeTwlQxQMOfYQyeXV1sNylfCUDbXIGxzS5QDE2CFLI6Rrv8tG7n+ rPD7rDvF1fTf/YBhYdtJbGrOpcBvOehnJbyubasCME7ddwPWlq8BnxgzFFTbqLoyoYRb n+8RU585mzLvY3nUugr6r0NlqcsoGfcZ096V5syOhZVycZZEzcIKRCEGA4oI4ZkXwC+V En++xfx8nHeSXMXZ0weyS1JhjgS5odqumeSYd0g88j2ZanPs5ajTdSOlb4ujlfpuK7HR n1c2x8vqKMKVLKvlktYesH8v08YhgRjgeNqj+S3p4Y9JeIERyhhjNxq4PoKyfCFuzasz Y7BQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=enk4tTOQ; 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 k186-20020a6384c3000000b0053486b8ad0dsi1189480pgd.205.2023.05.25.06.54.15; Thu, 25 May 2023 06:54: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=enk4tTOQ; 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 S241366AbjEYNjE (ORCPT + 99 others); Thu, 25 May 2023 09:39:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241202AbjEYNi4 (ORCPT ); Thu, 25 May 2023 09:38:56 -0400 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D6F35197 for ; Thu, 25 May 2023 06:38:51 -0700 (PDT) Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3093a778089so1414132f8f.1 for ; Thu, 25 May 2023 06:38:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1685021930; x=1687613930; 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=0e4d294AXuwEBJZs4agoGK3jhgST3++yYamvsMPJTfc=; b=enk4tTOQPqyHhGGVUkh9wjJsA+DGP6BHKoVWWDAlaJEvZCUrr23mZ+YlG9L5sjUQjQ GEbt9AUjp5qgBY+RhmWKG3vK5BHzOlewlsaGRCa3wk5O5rFzoe9gn5CfCObtYlzoG9dq Mt0xwQH5Qa6wKEBBKGo6mrCCfEFHuGI0HUipri/Op0kJkA5JrBfnIxFtu6upGjumZ6rO JEXdo73k+YDPY5oQTEVGWGPllS34akWbHkst6za7pkb8f55CmRUBcWPgor7mkJEv5WVa mZgY1O/guESCD+AxM6rKPYsbU191IRl2aQjtVQbwqFPG+vc64TJcGKiDZ97dhvLasFSn 0wHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685021930; x=1687613930; 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=0e4d294AXuwEBJZs4agoGK3jhgST3++yYamvsMPJTfc=; b=HMcvyfMrcE/aSD/Vv6wi26sVMFyGY+d6jRPnLfSBOF7ZcOecPZAhHOTebOpC8+8/zp yi7LSP7NpHpPdvEOfG1mpG8D0TChj05fXEPw0NbqiNZS30vfvB9FJH+fGxBrRovY0KBg /0Ezif+VGYS42PwDHVwATOai7tqwLEZb6enAlvTtQZ5EBn3ilW/cNzvj5dAiOpx2Y4lr 20zbEgXsnh1oGSGHYHkNwBej09ervFeQ1w5LU3TWI4NZzG24+eG5/UDqEnsXu93G1Wbu rvZY4CKmPKFqLjUfjNlY6sAlf3DkPPVdE8305BszX0YfPQJZ06kCo+dVX5XvKIaWbdBr NZkA== X-Gm-Message-State: AC+VfDy1vSbv6ojnMHuJUx/iLmu3jy4s3ExPkOywMinjI2mhicdJuZwt 4Ha2gXBVInvv0JwjGzt6YvU1BA== X-Received: by 2002:a5d:5710:0:b0:30a:bdfd:5c3c with SMTP id a16-20020a5d5710000000b0030abdfd5c3cmr1549534wrv.17.1685021930276; Thu, 25 May 2023 06:38:50 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id z17-20020a5d6551000000b00301a351a8d6sm1803641wrv.84.2023.05.25.06.38.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 May 2023 06:38:49 -0700 (PDT) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: andersson@kernel.org, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, sanyog.r.kale@intel.com, linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 3/4] soundwire: qcom: add software workaround for bus clash interrupt assertion Date: Thu, 25 May 2023 14:38:11 +0100 Message-Id: <20230525133812.30841-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230525133812.30841-1-srinivas.kandagatla@linaro.org> References: <20230525133812.30841-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,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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?1766874539906514616?= X-GMAIL-MSGID: =?utf-8?q?1766874539906514616?= 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 | 56 ++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index adf025194a31..1d2a105cb77f 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -793,6 +793,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 *ctrl) +{ + int retry = SWRM_LINK_STATUS_RETRY_CNT; + int comp_sts; + + do { + ctrl->reg_read(ctrl, SWRM_COMP_STATUS, &comp_sts); + + if (comp_sts & SWRM_FRM_GEN_ENABLED) + return true; + + usleep_range(500, 510); + } while (retry--); + + dev_err(ctrl->dev, "%s: link status not %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; @@ -841,16 +861,28 @@ 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, ctrl->reg_layout[SWRM_REG_INTERRUPT_CLEAR], + 0xFFFFFFFF); /* enable CPU IRQs */ if (ctrl->mmio) { ctrl->reg_write(ctrl, ctrl->reg_layout[SWRM_REG_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); @@ -1626,26 +1658,6 @@ static int qcom_swrm_remove(struct platform_device *pdev) return 0; } -static bool swrm_wait_for_frame_gen_enabled(struct qcom_swrm_ctrl *ctrl) -{ - int retry = SWRM_LINK_STATUS_RETRY_CNT; - int comp_sts; - - do { - ctrl->reg_read(ctrl, SWRM_COMP_STATUS, &comp_sts); - - if (comp_sts & SWRM_FRM_GEN_ENABLED) - return true; - - usleep_range(500, 510); - } while (retry--); - - dev_err(ctrl->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 May 25 13:38:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 99036 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp387694vqr; Thu, 25 May 2023 06:56:35 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6fY4dVSOT7XHRmi/SFuAjT7G2wGHCt7KmmVexvUN+9ZfE/7zIVxEewoe8w2h8+BZb+zbg7 X-Received: by 2002:a17:90a:890a:b0:255:c061:9e6b with SMTP id u10-20020a17090a890a00b00255c0619e6bmr2000656pjn.11.1685022994551; Thu, 25 May 2023 06:56:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685022994; cv=none; d=google.com; s=arc-20160816; b=LgpMZTAiK4lDyJrNDqJi2jd286wiHZr61fRcnXmaZ6fenhomeWCyzPYbJAUJQ8SDKI LPJ/tjqmkocircBwQmBXpsxqpDCVT9EMb6CKeKxd3LUXwCs2TkrrC0XECGg8cd7rFUOA W8NbVehVB3+ej9ZBjQTSoOhU7D8awvs2FCMneo0DiqihBBrk3oEuPz1wOV1CBdWcCVGF Mg4+DbinbFdALh9UU0SxfizjKlBPn1JdMi2rSQU9d50Sz8kykiKe+4p1EM7m9joyyLuR I2OPFIKefO8qI3UtPBE3VewkUs9tr7dzESTki81gfzE7c5XCwYUoEQtsFGtavemDjdGJ P9ow== 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=zYY0GKMhXttuAw6paI9M2TLIWSmFkEjM7aIwjpOH6i4=; b=i9fsyzPU+BQCoKXxJbcjpz1XVU8P/blmP0JKQvgrXRR37VoLki2YTF/jLYOUbzo8Xc kssmr4D7WepiQ00B1Pwr/SUNOkr2RxUx8lYNbEvzCWetSPCiJptUBODEt+FUjG6GReaV WWNN2lJSYMZ6l4wvoY1iWfuW9cvAjBQqihIDvAvmdXndcM1j7AOKUbzmU9Fz8nfU09GP 7E3OMgsop9T6Z4OaIj+3VWiEn/5Xfeu3Dp0EwM8WNJ2KyTIqAad2fpgEVDwNOQqx7lNz 3i3VztJBiflf7X/+cXDSw479MpF+eSxvxmfwPMwXidOz6BPx8W15hpJ+GjrThJ8x0BUx diRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=lSI8NUoR; 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 gd21-20020a17090b0fd500b00250807e3c5dsi1590973pjb.137.2023.05.25.06.56.19; Thu, 25 May 2023 06:56:34 -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=lSI8NUoR; 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 S241223AbjEYNjJ (ORCPT + 99 others); Thu, 25 May 2023 09:39:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56226 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241339AbjEYNi6 (ORCPT ); Thu, 25 May 2023 09:38:58 -0400 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B93818C for ; Thu, 25 May 2023 06:38:53 -0700 (PDT) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3093a7b71fbso2072925f8f.2 for ; Thu, 25 May 2023 06:38:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1685021931; x=1687613931; 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=zYY0GKMhXttuAw6paI9M2TLIWSmFkEjM7aIwjpOH6i4=; b=lSI8NUoRqt6sKOtFjbYKQ1EpPdFGZy/OFcz/WK8bRYRwVMgzWirE6Opr2uEfXhx144 tqynAAgPY3KXxJglbouzD+2ETgPUOolPGFy7rYQVgXsAX3g4IoMNW7kCrUvpoKDenmQn QNH/1oQlrMFBLSBbyZU9xc/+P3tYQ7ZwO3aIQFJxThanQdjePsdrNAA8iXIJ36IW8038 BTquGyNO+19LB46JVbRVD6ZMAJOvZ8bIb4pYs+93nDqvKXOJybmuAB+0oGIHwUS989Th OeYicGaffL5atnDCrex6ZH21zZbXd/NtwfoJBsd0U6S8ay21wXlgOLhZKNJWMLV10B25 sqGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685021931; x=1687613931; 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=zYY0GKMhXttuAw6paI9M2TLIWSmFkEjM7aIwjpOH6i4=; b=Ao02cecf5qYUnRdBouAmfP+aNASk142fT7rRoaZaGk293g3idML3Y16IDe5/PI7qpM ga2itwcMou8jBG8ynBBt2OXuGfHkZOmvf17l22vAm4/xFb2HDPIAbFUycRXMcNgmRFLR EXSxUDr/8f48qjTIAjS1a6LhUtsUYmmXQqSsmTVnkZcvD/W/EIrElXzN5h3u6UzsySev h1mmaJ5btKHyHRwcZrr3fEJ6YS9+6YnKExP8LM0LXfY8uXf+O4vxTgcI6P5Czb1FqnBN 6eqabboYoWc4RX3BWt5d9H11y4nO6yAXeVXpXZcf1BPZvyDh3Jtgwso08BDBIzxGmJ6r LOqQ== X-Gm-Message-State: AC+VfDzb5TXdIU6O7TRCbjx9MsIX4k64QDNAw1maGxdppSk88rsaSYK8 Dr6DqwhSdB00EQScUsoHe9T5Ig== X-Received: by 2002:a5d:574d:0:b0:309:54b6:33b0 with SMTP id q13-20020a5d574d000000b0030954b633b0mr2621683wrw.44.1685021931808; Thu, 25 May 2023 06:38:51 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id z17-20020a5d6551000000b00301a351a8d6sm1803641wrv.84.2023.05.25.06.38.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 May 2023 06:38:51 -0700 (PDT) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: andersson@kernel.org, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, sanyog.r.kale@intel.com, linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 4/4] soundwire: qcom: set clk stop need reset flag at runtime Date: Thu, 25 May 2023 14:38:12 +0100 Message-Id: <20230525133812.30841-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230525133812.30841-1-srinivas.kandagatla@linaro.org> References: <20230525133812.30841-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,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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?1766874671563689452?= X-GMAIL-MSGID: =?utf-8?q?1766874671563689452?= 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 1d2a105cb77f..b6c3fadc9090 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -617,10 +617,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.clk_stop_mode1) + ctrl->clock_stop_not_supported = true; + found = true; break; } @@ -1623,15 +1627,6 @@ static int qcom_swrm_probe(struct platform_device *pdev) pm_runtime_set_active(dev); pm_runtime_enable(dev); - /* Clk stop is not supported on WSA Soundwire masters */ - if (ctrl->version <= SWRM_VERSION_1_3_0) { - 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,