From patchwork Fri Jul 28 11:28:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 127632 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:918b:0:b0:3e4:2afc:c1 with SMTP id s11csp432979vqg; Fri, 28 Jul 2023 06:25:29 -0700 (PDT) X-Google-Smtp-Source: APBJJlGp0gXMj58cN7w56Ya5acfE46MAr3P97KIxdwZKGHidxuF5aEQHEYSZj2mgfPbPM8IbaiYx X-Received: by 2002:aa7:d5d9:0:b0:522:3790:1303 with SMTP id d25-20020aa7d5d9000000b0052237901303mr1615401eds.32.1690550729515; Fri, 28 Jul 2023 06:25:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690550729; cv=none; d=google.com; s=arc-20160816; b=DziKCpNumSClvA0pnt4rcDJQehtPspQa5BbhboaVFbXWaynZVK4ItyZKxB9l/Zeo7B +xRZtviAXpyUgpouejY4iG59IY7zoC3GQ9RzYXMIaBMOkedGUmEH/txHvBXtH/zWNs1r nty+91cAF+ZgNVKCkn9b3XF6ShtrOczKQVCSbl3h0Hj23zNVhzQQvHllUXuF61CRDmnC /IGJw8fjr9oWhZ0bW3mGctRpXEQRONs2Kesp7zs2NAw/hY3u2U7Gzieu8RnzcPdCuGl2 KAKyvwj440v5vasM/BRTQTDpWcUeSh7GHud5sP05K6sTg5dZUiE6IoU14osGCF2+l4DM wzTQ== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=BQ34vB3coODdnCqDRzNfJbwKt6237pIU9W1p9j3eoLQ=; fh=PA7osce1sxSScALqTrXswaeQ4opsXtdhSODYKo8FmK0=; b=h/6mzxdf74IBE6owNMuy9jWGtnYHdeCWrERP2lSMcoP3PDPWe3f80v6mcVa5rNzdy8 UV+NKnoCYLa4TYr1HfXlStv1F6UkthS/XGq2D3jRgpud7OuxUHIOBXvXKq95mCc/1vb9 uzpqPQaW2siC0n7bZmOCAp00KfEmDwGxml94FoMhb/pIYLKDDs/51uK1VWBNGvCwBl4a d/kniL8Ov1ARyP8WuYieo9h5B9XWBtcuP26rwBoBXQStyVtK1KAwnMuAMMVNDeu3tr+L Tb3NKK6PA1YMK2KtMSot0Nq84IdrbGRuU4G+GKruh5jUYpB7QN3X9UHVTRFGdwxWEG3y Szrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bOkI9D8d; 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 i2-20020aa7c702000000b005223aaec697si2476395edq.576.2023.07.28.06.24.53; Fri, 28 Jul 2023 06:25: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=bOkI9D8d; 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 S236268AbjG1L26 (ORCPT + 99 others); Fri, 28 Jul 2023 07:28:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232959AbjG1L2y (ORCPT ); Fri, 28 Jul 2023 07:28:54 -0400 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 0580D35AB for ; Fri, 28 Jul 2023 04:28:53 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-3fbf1b82d9cso20192215e9.2 for ; Fri, 28 Jul 2023 04:28:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690543731; x=1691148531; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=BQ34vB3coODdnCqDRzNfJbwKt6237pIU9W1p9j3eoLQ=; b=bOkI9D8dNzJpn9aOYEnooCIj1cr2YtJDjjbFmyJvdCWIILWwPhp3mgLj6I3/vayjFC wm93ZBG78NEwwxCQWagNXxT98EUSP1Kmvy5PwxiJdEnbrPE4FGZBcFgXP0Yr7sOkbsnb NsHP1lST+OyJwaINFmtQOPSJcjS3xHQgvfSeVcfwOCnke2d7tDVwoqTjEGxlCd8hh0+w 7sNLdIkAcxXjGUtlPX+twW7fjeEhGre1tWsekg9KAjwPfjFP8Kkp849K/We9epd30M4b VN6K4Z99oOCGYx0jhqtjxrRwiv7sTEmRPuQTWKB+1Qj0bzWcL367ad9bgsczm97PCDuQ y/+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690543731; x=1691148531; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BQ34vB3coODdnCqDRzNfJbwKt6237pIU9W1p9j3eoLQ=; b=X0sXLuVgSBB5UKlg4MKhJo/XCJmBb9Sa1k2EeHHVXc/8NVObjRLuWNU5XDLVBdfoKP 7RJMaII9l0mH+qYhdwjkR1DtFAABxoWhAdM/Z4JgMVavbz+18A1zX8TQu5PBBZJm6jZK P2GMJfwkJK3GExebZgVI1yPx1vwb6u1fMP1rkoKQqMGHqpGoDquXIM2W+pk3+EWFEgB1 JrXQ7q0hhriTYzYyJJtwohS1d+Oy4Y8OyfTTrmQ6l3R7gPl/8nEeHWtn/jf8WVBSOh0v jw0dCVIz1GRk9IMb8c6fcQv9xXxorP5O2ibg+99lhX8sYTjbUxLcZ5Pmd29BM0H1KPXN c2rQ== X-Gm-Message-State: ABy/qLblt8tTY5Fg9CK1Mh3rUfpRg79UYXM7ajU7fdmCfMfzxIehgmQJ hVdJMsgcR9b0b+PMr3uuqyz7ww== X-Received: by 2002:a05:600c:2208:b0:3fc:a49:4c05 with SMTP id z8-20020a05600c220800b003fc0a494c05mr1355381wml.40.1690543731305; Fri, 28 Jul 2023 04:28:51 -0700 (PDT) Received: from krzk-bin.. ([178.197.223.104]) by smtp.gmail.com with ESMTPSA id q10-20020a1cf30a000000b003fbb618f7adsm4011911wmq.15.2023.07.28.04.28.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jul 2023 04:28:50 -0700 (PDT) From: Krzysztof Kozlowski To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Vinod Koul , Bard Liao , Pierre-Louis Bossart , Sanyog Kale , linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 1/2] soundwire: qcom: use newer link status tregister on v2.0.0 Date: Fri, 28 Jul 2023 13:28:47 +0200 Message-Id: <20230728112848.67092-1-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 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: INBOX X-GMAIL-THRID: 1772670921565994149 X-GMAIL-MSGID: 1772670921565994149 Soundwire v2.0.0 comes with a new register LINK_STATUS for the FRAME_GEN_ENABLED field (bit indicating that an active frame is running). The old register COMP_STATUS is still there and still works, although the new one is preferred in downstream sources. Probably because it allows to choose Soundwire instance per CPU. Most of the code allowing to use new register for Soundwire v2.0.0 was already there as part of commit 312355a6a9f6 ("soundwire: qcom: add support for v2.0.0 controller"), so switch to it in swrm_wait_for_frame_gen_enabled() function. This should not have functional impact, because the old register still behaves correctly. Signed-off-by: Krzysztof Kozlowski --- drivers/soundwire/qcom.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index f8fd2eb4a2bb..3ae3e5896308 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -817,8 +817,8 @@ static bool swrm_wait_for_frame_gen_enabled(struct qcom_swrm_ctrl *ctrl) int comp_sts; do { - ctrl->reg_read(ctrl, SWRM_COMP_STATUS, &comp_sts); - + ctrl->reg_read(ctrl, ctrl->reg_layout[SWRM_REG_FRAME_GEN_ENABLED], + &comp_sts); if (comp_sts & SWRM_FRM_GEN_ENABLED) return true; From patchwork Fri Jul 28 11:28:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 127574 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:918b:0:b0:3e4:2afc:c1 with SMTP id s11csp386553vqg; Fri, 28 Jul 2023 05:09:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlHJpE8w4FP1J1/2de9B4IQOp7Gt7PPzX3nSiSG6CTPwFssJsjHrDoxhskhMNk4NNh8Ti+z2 X-Received: by 2002:a17:906:7a11:b0:99b:cb78:8537 with SMTP id d17-20020a1709067a1100b0099bcb788537mr2014607ejo.11.1690546154931; Fri, 28 Jul 2023 05:09:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690546154; cv=none; d=google.com; s=arc-20160816; b=iCo1fMevvXSbn34uD1m69/4XDHnv90cYHCSxO0D0dmtqeGu6KrbStgOujubw0mq76H JXm75YLNM/zOA+9pnJQCI7/1OiuovxbmvlSZtyBVwiuERt5uUj7RsFoZeAGMvq5b5SfD c1GmdRBN9c5CZlBUv58+9yVfA8dmZMAc7KJxIDdKER+oigEtAD6OweYgiWKNVG6TZygC x4jW0XTkrLqSOsajhnm3yA/KE5WuZdeah0NouwvPSls14f/D2znQuwGgTZdF3IWClOTu axEXhRNZ7dcG5h3hvw4ys4uqMX1TpbBPbmiWOWJ8y6YqturyEZ2adKAzhm2KJxTNoR45 nBXw== 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=K2Jmh76fX0cC8X5svQlpl0lqLBg/8T7Qn+TkbmMn87g=; fh=PA7osce1sxSScALqTrXswaeQ4opsXtdhSODYKo8FmK0=; b=P+H8F34+BYBMPAPCD/6XqY+E5W947SqVQMaLqPoSoItGTxnHPIBpCSknrRgv0jEmbU w1GIkb2Y9WHvZg7QbbjuPN1qKQvTN5GaPPagkTR9smlQov2dKkgUGJP1JVC6pN3WofpM YIpKhPGkdbDzjjzoTWNHRbj3x3CuAWjdDYTGQBjSYyN5ZG2yqWXfSnD5Em5hvTKSD+it iRtk456lWywJr2HSx1iKGXiHGoJPcBIm3xSsgZmzZL5tcoCKcgUgGfICv0Qnnf4DOEDF V/MS/herAl6hmC6rSLUFbrbEKSnVBwRh45H+S++8QiBzoWKLLs0OCebnmXRPBK4xD9T7 MKXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=S9h7ZBuC; 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 y22-20020a170906071600b0099b7a166716si2475906ejb.245.2023.07.28.05.08.50; Fri, 28 Jul 2023 05:09:14 -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=S9h7ZBuC; 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 S235173AbjG1L3G (ORCPT + 99 others); Fri, 28 Jul 2023 07:29:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35814 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236257AbjG1L3A (ORCPT ); Fri, 28 Jul 2023 07:29:00 -0400 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3A52B3AAA for ; Fri, 28 Jul 2023 04:28:55 -0700 (PDT) Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-4fbb281eec6so3472437e87.1 for ; Fri, 28 Jul 2023 04:28:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690543733; x=1691148533; 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=K2Jmh76fX0cC8X5svQlpl0lqLBg/8T7Qn+TkbmMn87g=; b=S9h7ZBuCSi0Nut2p7zcsCvS49l7LMk2fQUD6ZCtk3vzETaAV/v/RbDrvVLeqW6KtKX dFAfEfF+YpNY7jutfP9MhLts8g94NsTU2yWUwRGiZDREjalRpF72DjJUPD87fuXOvpek db6axTaetmJVobJsOdNh5bVSpdIJv91xiwvfV/QM5cj6DSoRqW9bFjMI00ROFMcbfYXY gmuy4+XDI8AEPi445GKoex3AnU7NMRn2YNVDHokT7AK2CgHmvAvEFOtcnQepRhBqzCta JyO8cCRAr/7b6jIOi5nrjAtbUjeYzzvLQfXIf+AXNlV++0sKT1rDq/R7UI5nDKpfy64n uuWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690543733; x=1691148533; 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=K2Jmh76fX0cC8X5svQlpl0lqLBg/8T7Qn+TkbmMn87g=; b=Vo88RxVsDz7AcRLjGDhONAv0nU7Bf3n+A1a19j5PBQRkjIwAgfAX0WBVyoH/FsO7Vs z2RZIaRY3LORBJr3qiiohrahN65Bk3n9+OiYKsTYLe3nS8AfGm3JkdFHsyI/zH/4Zf2U kQoZoXSHG6j7uawgvXDP4sl6Cl0Tq5pjVSGwz4tLTxPfH8NOZsQZC2br117GTWPoupXJ Co4QgItcKksS3C0n+nesD7sPt7HQeecubZEwLrS8Rr8rljJqEZLJzjX1BvYOcevYaiiM J2vEpM42++7iiwpLZZyWJpTDO/Ml64GT3+Xunrecg57aRe4BhTrI5Tg9hYmSggK4Doej 6Tiw== X-Gm-Message-State: ABy/qLaLK2Ufo0qAYV4qhP0yz+nImkwKjsCag9sYpGhsNSU2ORWKMVb+ PZiR5XLLZUTe40iEB80h28g4Uw== X-Received: by 2002:a05:6512:348f:b0:4fb:8616:7a03 with SMTP id v15-20020a056512348f00b004fb86167a03mr1331586lfr.4.1690543733205; Fri, 28 Jul 2023 04:28:53 -0700 (PDT) Received: from krzk-bin.. ([178.197.223.104]) by smtp.gmail.com with ESMTPSA id q10-20020a1cf30a000000b003fbb618f7adsm4011911wmq.15.2023.07.28.04.28.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jul 2023 04:28:52 -0700 (PDT) From: Krzysztof Kozlowski To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Vinod Koul , Bard Liao , Pierre-Louis Bossart , Sanyog Kale , linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 2/2] soundwire: qcom: handle command ignored interrupt Date: Fri, 28 Jul 2023 13:28:48 +0200 Message-Id: <20230728112848.67092-2-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230728112848.67092-1-krzysztof.kozlowski@linaro.org> References: <20230728112848.67092-1-krzysztof.kozlowski@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: INBOX X-GMAIL-THRID: 1772666124840729898 X-GMAIL-MSGID: 1772666124840729898 Qualcomm Soundwire v2.0.0 controller comes with new interrupt bit for ignored commands. Add code to handle it in the interrupt service routine. Signed-off-by: Krzysztof Kozlowski --- drivers/soundwire/qcom.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index 3ae3e5896308..3061db6adac7 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -61,6 +61,7 @@ #define SWRM_INTERRUPT_STATUS_BUS_RESET_FINISHED_V2 BIT(13) #define SWRM_INTERRUPT_STATUS_CLK_STOP_FINISHED_V2 BIT(14) #define SWRM_INTERRUPT_STATUS_EXT_CLK_STOP_WAKEUP BIT(16) +#define SWRM_INTERRUPT_STATUS_CMD_IGNORED_AND_EXEC_CONTINUED BIT(19) #define SWRM_INTERRUPT_MAX 17 #define SWRM_V1_3_INTERRUPT_MASK_ADDR 0x204 #define SWRM_V1_3_INTERRUPT_CLEAR 0x208 @@ -792,6 +793,17 @@ static irqreturn_t qcom_swrm_irq_handler(int irq, void *dev_id) break; case SWRM_INTERRUPT_STATUS_EXT_CLK_STOP_WAKEUP: break; + case SWRM_INTERRUPT_STATUS_CMD_IGNORED_AND_EXEC_CONTINUED: + ctrl->reg_read(ctrl, + ctrl->reg_layout[SWRM_REG_CMD_FIFO_STATUS], + &value); + dev_err(ctrl->dev, + "%s: SWR CMD ignored, fifo status %x\n", + __func__, value); + + /* Wait 3.5ms to clear */ + usleep_range(3500, 3505); + break; default: dev_err_ratelimited(ctrl->dev, "%s: SWR unknown interrupt value: %d\n",