From nobody Mon Feb 9 09:01:16 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EC46C0015E for ; Mon, 24 Jul 2023 10:49:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232577AbjGXKth (ORCPT ); Mon, 24 Jul 2023 06:49:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232429AbjGXKtb (ORCPT ); Mon, 24 Jul 2023 06:49:31 -0400 Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D36C133 for ; Mon, 24 Jul 2023 03:49:25 -0700 (PDT) Received: by mail-lf1-x131.google.com with SMTP id 2adb3069b0e04-4fb7589b187so6157143e87.1 for ; Mon, 24 Jul 2023 03:49:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690195763; x=1690800563; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tspcZNQVAOG/ieMod7hnD09w/Zkh9+fCIQ92xXCkBLc=; b=F1y7Jb/sB8vSZVzJSTj5xNrMEMdkG/YTC4HVDQEqpo1Ne3vUZ7qSvO61+XB1TQyfrC lvrZtaZlwbldcyOSR3UQVf20I93gzAd+LtHegQ9JHJKJmvrSxrPMbWDeEymj4QY3mWZK C2SxG4uS6GtsAe3/CEey0jB0fdnoE1xy8CB1lrq14hiz0ASYmmfIiDWyNV4ppnQNAUau x6pu6O1x+cpXqBJiVXMLa7rVGK0CuT0EZ3grM/TxWDPj38wpHA1Jg6ahTq4o27SCrfPx KYf4940aedsfbDh6fZ/rhHA/xYQeVz56yLSQl2Cod6O5HQXJOtKDlMWxDCxYOtcKqn38 TIeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690195763; x=1690800563; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tspcZNQVAOG/ieMod7hnD09w/Zkh9+fCIQ92xXCkBLc=; b=DujTNRoe4woIvFxlFvOo3/BYH11sERdEnfrpHZhO5IZp4l7TrOXeVRwYnZ22Wx4h7b U5et3B+sr2IEF1s32NVaXtCFVb3ETmcHZ+O2b/umKqshdGj7wZH+DF0LdFx7zJo+ahHw /uYwMW3FKFD64FYGik6UsPsMsXjrYPtEYgm7FWvCt3OSvveEQbpbt8N88oJ+TvBMClz3 osgmkiEUaHf8V15j69yn0HqM4Ovl51i3zHh03oJ41KOvyK3BVvPwoip4Xu28DEjjD7br 59VuW9t/JvcLKkWhBB8OiksX4fRf+soDKDxtKIhCvqHrCemFeaIF7WI+RSvTF0bHcxxW FhNw== X-Gm-Message-State: ABy/qLYpGtm8zNSvUU1iQ1Lo6YTzb/Y00QOqmrq4sxRWxwoNToXE0x6X jAoXPUR/Uv39q38/G6Z52bLepg== X-Google-Smtp-Source: APBJJlEwXJB35Nb6TMn2RVO69zWIWFwJqML6uzgXHwanY0fy/RbxMQCdF+D3OH+BIk47fl0wmPoIcQ== X-Received: by 2002:a19:4307:0:b0:4f8:7513:8cb0 with SMTP id q7-20020a194307000000b004f875138cb0mr4178532lfa.2.1690195763428; Mon, 24 Jul 2023 03:49:23 -0700 (PDT) Received: from [192.168.1.101] (abyl203.neoplus.adsl.tpnet.pl. [83.9.31.203]) by smtp.gmail.com with ESMTPSA id o14-20020ac2494e000000b004fdc7ec5cbesm2164201lfi.300.2023.07.24.03.49.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jul 2023 03:49:23 -0700 (PDT) From: Konrad Dybcio Date: Mon, 24 Jul 2023 12:49:21 +0200 Subject: [PATCH v2 1/2] interconnect: qcom: qcm2290: Enable keep_alive on all buses MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230720-topic-qcm2290_icc-v2-1-a2ceb9d3e713@linaro.org> References: <20230720-topic-qcm2290_icc-v2-0-a2ceb9d3e713@linaro.org> In-Reply-To: <20230720-topic-qcm2290_icc-v2-0-a2ceb9d3e713@linaro.org> To: Andy Gross , Bjorn Andersson , Georgi Djakov , Shawn Guo Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1690195761; l=2327; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=M+tTNuP99ZlFEyDR5+8/cKdgpuX5eZVJzdsdG4DBXsU=; b=BDv36n1rFgFABCjKXG+/dWbSU1zxH8X5nMzcYLN1qZxzo7vaiPfbpzIbhUUTLzDs1dZMRnVy8 2zkEZOS3XpBAI+d9Be+x+iaF42M1AMWCNvoMC3KH/Rq5SAlIMoEYKU6 X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QCM2290 expects all buses to be up at all times when the CPU is active. Enable keep_alive on all of them to achieve that. Fixes: 1a14b1ac3935 ("interconnect: qcom: Add QCM2290 driver support") Signed-off-by: Konrad Dybcio --- drivers/interconnect/qcom/qcm2290.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/interconnect/qcom/qcm2290.c b/drivers/interconnect/qco= m/qcm2290.c index 3c3b24264a5b..c22354f3e667 100644 --- a/drivers/interconnect/qcom/qcm2290.c +++ b/drivers/interconnect/qcom/qcm2290.c @@ -1196,6 +1196,7 @@ static const struct qcom_icc_desc qcm2290_bimc =3D { .num_nodes =3D ARRAY_SIZE(qcm2290_bimc_nodes), .bus_clk_desc =3D &bimc_clk, .regmap_cfg =3D &qcm2290_bimc_regmap_config, + .keep_alive =3D true, /* M_REG_BASE() in vendor msm_bus_bimc_adhoc driver */ .qos_offset =3D 0x8000, }; @@ -1252,6 +1253,7 @@ static const struct qcom_icc_desc qcm2290_cnoc =3D { .num_nodes =3D ARRAY_SIZE(qcm2290_cnoc_nodes), .bus_clk_desc =3D &bus_1_clk, .regmap_cfg =3D &qcm2290_cnoc_regmap_config, + .keep_alive =3D true, }; =20 static struct qcom_icc_node * const qcm2290_snoc_nodes[] =3D { @@ -1294,6 +1296,7 @@ static const struct qcom_icc_desc qcm2290_snoc =3D { .num_nodes =3D ARRAY_SIZE(qcm2290_snoc_nodes), .bus_clk_desc =3D &bus_2_clk, .regmap_cfg =3D &qcm2290_snoc_regmap_config, + .keep_alive =3D true, /* Vendor DT node fab-sys_noc property 'qcom,base-offset' */ .qos_offset =3D 0x15000, }; @@ -1308,6 +1311,7 @@ static const struct qcom_icc_desc qcm2290_qup_virt = =3D { .nodes =3D qcm2290_qup_virt_nodes, .num_nodes =3D ARRAY_SIZE(qcm2290_qup_virt_nodes), .bus_clk_desc =3D &qup_clk, + .keep_alive =3D true, }; =20 static struct qcom_icc_node * const qcm2290_mmnrt_virt_nodes[] =3D { @@ -1323,6 +1327,7 @@ static const struct qcom_icc_desc qcm2290_mmnrt_virt = =3D { .num_nodes =3D ARRAY_SIZE(qcm2290_mmnrt_virt_nodes), .bus_clk_desc =3D &mmaxi_0_clk, .regmap_cfg =3D &qcm2290_snoc_regmap_config, + .keep_alive =3D true, .qos_offset =3D 0x15000, }; =20 @@ -1338,6 +1343,7 @@ static const struct qcom_icc_desc qcm2290_mmrt_virt = =3D { .num_nodes =3D ARRAY_SIZE(qcm2290_mmrt_virt_nodes), .bus_clk_desc =3D &mmaxi_1_clk, .regmap_cfg =3D &qcm2290_snoc_regmap_config, + .keep_alive =3D true, .qos_offset =3D 0x15000, }; =20 --=20 2.41.0 From nobody Mon Feb 9 09:01:16 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 804C3C0015E for ; Mon, 24 Jul 2023 10:49:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232539AbjGXKtn (ORCPT ); Mon, 24 Jul 2023 06:49:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232479AbjGXKtc (ORCPT ); Mon, 24 Jul 2023 06:49:32 -0400 Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 328C6FB for ; Mon, 24 Jul 2023 03:49:26 -0700 (PDT) Received: by mail-lf1-x131.google.com with SMTP id 2adb3069b0e04-4fb863edcb6so6198835e87.0 for ; Mon, 24 Jul 2023 03:49:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690195764; x=1690800564; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=v8HKgJSSV07pp4d9brlO+h0JzIdiYnacUoJ+79PuEI4=; b=RQ+a0ZCwPXPESV3mIgCp8tm1prElKptpDZyaKjzC1uelhVuzifZNS0vm0tjagrC4F3 DQcZW4HqO9to/UuDYKcaJfw5gp7RlNb8rVlcYvBeQhY6QXRiioPm6iVYVWzFJfbEia/q xh2nMHfVzFpfY77jfpw++wB1iZCSedd0nWtjZazJNVVoxU1hXEml4I2b7ldB3DlMUwIf /IsXMYMP8Rvit3g5iTF3VYo7yTl33XsyqFOi0zHEM5ubB9zh9hDvSdBK/TFXpY2C5Idw Dxaa7tMp4VroJQxng1+H/Kq53kqbsKvlYDH6SxXlUhGRPjjEPsBteV7Am8TFLH0sfpbQ AR9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690195764; x=1690800564; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v8HKgJSSV07pp4d9brlO+h0JzIdiYnacUoJ+79PuEI4=; b=Ox12J+P4TsZ1qILVGNHjW33HKx36IOcnzp5QL5hV5t6IaIVFxjlS0Znb1YCYe0DIIZ HQ1LvyBW5K9s46tPP05RA96+yvscUc0buNbJO+Dhrti52Sw43WEyABTneccpBHbz57Fk HA8uETUkL/VYQ5QZO3HoyecuKjx2SUlVpFRlXww0ifSbhC5ybYvWOAydC6amyo2ApCKr SESlGeQItkkjv33z/fYHhU8VgB8uceFAuLs4fsvQw3EIJDXkrDCNl15U1rFmBoj9sfZ1 aEDQ/i3HHxKbp7uo7dyiXg9BViBz9DD4q8loMQKmatYpZvoRJMCyqn5sV3z8QNBnAdVg p/Yg== X-Gm-Message-State: ABy/qLZaTAyfOF5Gt3i9t55/AJX2APo9VaoO2GiuRzcA5I8xOY8dPBwq GDy79Spvl3apawYWTpzdS71hew== X-Google-Smtp-Source: APBJJlFkO0TeYh3ZoRhiTaeivQ83oCvFNp+UJcf10hvH93B8FuaB3rm6LSEyOJ3IW11fakDe9mFCiQ== X-Received: by 2002:a05:6512:ea0:b0:4f9:5718:70b3 with SMTP id bi32-20020a0565120ea000b004f9571870b3mr5338407lfb.31.1690195764496; Mon, 24 Jul 2023 03:49:24 -0700 (PDT) Received: from [192.168.1.101] (abyl203.neoplus.adsl.tpnet.pl. [83.9.31.203]) by smtp.gmail.com with ESMTPSA id o14-20020ac2494e000000b004fdc7ec5cbesm2164201lfi.300.2023.07.24.03.49.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jul 2023 03:49:24 -0700 (PDT) From: Konrad Dybcio Date: Mon, 24 Jul 2023 12:49:22 +0200 Subject: [PATCH v2 2/2] interconnect: qcom: qcm2290: Enable sync state MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230720-topic-qcm2290_icc-v2-2-a2ceb9d3e713@linaro.org> References: <20230720-topic-qcm2290_icc-v2-0-a2ceb9d3e713@linaro.org> In-Reply-To: <20230720-topic-qcm2290_icc-v2-0-a2ceb9d3e713@linaro.org> To: Andy Gross , Bjorn Andersson , Georgi Djakov , Shawn Guo Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1690195761; l=1022; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=GplZxeOl64/ZE1tfvreBeiinURUbtJKYvGy7WRRT0bI=; b=O9MXnPhMxVQyCLJrL3jyqGMGBqfsvhiRg6ST9CmmM/h6dHwd8kFNhD6wYW8cmNWC/1c67k5+7 bzRBUL4EjjaCC6B+ki4drZ0UMURNFGXwB68yhuX+ukOGnhQZH3t61nf X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Enable the generic .sync_state callback to ensure there are no outstanding votes that would waste power. Generally one would need a bunch of interface clocks to access the QoS registers when trying to go over all possible nodes during sync_state, but QCM2290 surprisingly does not seem to require any such handling. Fixes: 1a14b1ac3935 ("interconnect: qcom: Add QCM2290 driver support") Signed-off-by: Konrad Dybcio --- drivers/interconnect/qcom/qcm2290.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/interconnect/qcom/qcm2290.c b/drivers/interconnect/qco= m/qcm2290.c index c22354f3e667..5bc4b7516608 100644 --- a/drivers/interconnect/qcom/qcm2290.c +++ b/drivers/interconnect/qcom/qcm2290.c @@ -1364,6 +1364,7 @@ static struct platform_driver qcm2290_noc_driver =3D { .driver =3D { .name =3D "qnoc-qcm2290", .of_match_table =3D qcm2290_noc_of_match, + .sync_state =3D icc_sync_state, }, }; module_platform_driver(qcm2290_noc_driver); --=20 2.41.0