From nobody Sun Feb 8 07:58:45 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 AB5C7C001DC for ; Mon, 31 Jul 2023 12:20:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232496AbjGaMUr (ORCPT ); Mon, 31 Jul 2023 08:20:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232392AbjGaMUf (ORCPT ); Mon, 31 Jul 2023 08:20:35 -0400 Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0B7EF1729 for ; Mon, 31 Jul 2023 05:20:18 -0700 (PDT) Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-4fe3e88bd5fso49122e87.3 for ; Mon, 31 Jul 2023 05:20:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690806016; x=1691410816; 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=m1y6paI5uebxybxrRxiiWIURpG14DnOR3pPpr3BR6Gs=; b=jI+rLFlOKtoUSK3ZhwD2Eqmpbs1rrnWl76r2NBpt4ui+CmdTy+aJPlPc6Xvz0EZHnM EQ+r535iSvwW4ZPh3IRnS3+y6J+fcTxnyr9yuOj2km8aPnvzxavgKA//8jW2ho/lppWC S4YGCxXKFywDOGdH5Yw86dIeDWkPl/eF5SX/rY46Zl+rPzLzwKvnC01Xpqjex2Z1d/C2 ZD9MbCqUqxr6Fw2M5OgZ2N73icIAAcFwLvgpDs+mwxHBo+YFfAAggBbw9jm0wC3M+lYt TZSw8XNehjaWbkO0ABn+dFo9bAwJNXzkHJwpdECU59j38A3damwFQZhA5OHoWW8h94pE v/Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690806016; x=1691410816; 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=m1y6paI5uebxybxrRxiiWIURpG14DnOR3pPpr3BR6Gs=; b=RWntksuAurVdCN4F4tvcU9vUEzFltoI7WWaL/BDjRWkgNqKlgdbaePQM8FH+DKgQEA H8rZcoHMg+5TnjpjDwpUhab37P82lAv5Z2igaW40NsLdVlQ2lfxYNM+DHBijitQrxWtF D3mqaYRJsN+CrbeB+KYioyZj6vGN6WXMAdT7N+0CBRF8A5j27S/gFl/rnR2HZ93e9QbO 5IfcnmiO8AJThhc1keLDslF3iK9upof1u1alZqHegcNxshHNmn+RMScpqMRZvc0DaBFG 6hMo8DLYtCwIbZnF42zZtmVU+xWXbdFC5UBjNV5Z4TEdN8tI3gc0uvSf8vQXhmP7COqZ bqdQ== X-Gm-Message-State: ABy/qLYywAQGDY9k1gEr3P11/9vvYnbJX7IEj+JpfYi9y4DQ0CUtmEhN 71O2njoG1d7Zux8cmCSLxCn6Wg== X-Google-Smtp-Source: APBJJlEm03oeFirz31CUV3y33d9dJ2EjbIhcTJMTdhyURruMj/Z/g2APOxH48WZHWTTWzzVJE6jN/w== X-Received: by 2002:a05:6512:542:b0:4fe:54f:6cdb with SMTP id h2-20020a056512054200b004fe054f6cdbmr6031349lfl.33.1690806016062; Mon, 31 Jul 2023 05:20:16 -0700 (PDT) Received: from [192.168.1.101] (abyk53.neoplus.adsl.tpnet.pl. [83.9.30.53]) by smtp.gmail.com with ESMTPSA id u9-20020a056512040900b004fe11366146sm2079096lfk.51.2023.07.31.05.20.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jul 2023 05:20:15 -0700 (PDT) From: Konrad Dybcio Date: Mon, 31 Jul 2023 14:20:12 +0200 Subject: [PATCH 1/2] clk: qcom: smd-rpm: Add a way to define bus clocks with rate and flags MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230731-topic-pcnoc-v1-1-452dd36d11d7@linaro.org> References: <20230731-topic-pcnoc-v1-0-452dd36d11d7@linaro.org> In-Reply-To: <20230731-topic-pcnoc-v1-0-452dd36d11d7@linaro.org> To: Bjorn Andersson , Andy Gross , Michael Turquette , Stephen Boyd Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-clk@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=1690806013; l=3511; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=pFdKDOz3A2TAZm4zvWo5pV/dny5w465aaIYk1XlaQHM=; b=hIa0gd0F7jVV5AEG9z3KULs2ji9hcLHZsI5JO+d3wk+BXNhRK/MrxfyJUq6HjjPZCByv+SbQh PGmyYc24RTpDXAU87rOGJlRkrNFa9z88usy7DGTLKLAqAYKAMw4I+zc 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 Some clocks, at least PCNoC (a.k.a CNoC_PERIPH) need to be always on, at least on the ACTIVE side, regardless of whether they're used for bus scaling or not. Introduce a new macro to preset non-INT_MAX rates and clk flags to make it easy and work implicitly through the CCF. Signed-off-by: Konrad Dybcio --- drivers/clk/qcom/clk-smd-rpm.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/clk/qcom/clk-smd-rpm.c b/drivers/clk/qcom/clk-smd-rpm.c index 9b5411932594..ebb8d9aac89d 100644 --- a/drivers/clk/qcom/clk-smd-rpm.c +++ b/drivers/clk/qcom/clk-smd-rpm.c @@ -18,7 +18,7 @@ #include =20 #define __DEFINE_CLK_SMD_RPM_PREFIX(_prefix, _name, _active, \ - type, r_id, key) \ + type, r_id, key, ao_rate, ao_flags) \ static struct clk_smd_rpm clk_smd_rpm_##_prefix##_active; \ static struct clk_smd_rpm clk_smd_rpm_##_prefix##_name =3D { \ .rpm_res_type =3D (type), \ @@ -42,7 +42,7 @@ .active_only =3D true, \ .rpm_key =3D (key), \ .peer =3D &clk_smd_rpm_##_prefix##_name, \ - .rate =3D INT_MAX, \ + .rate =3D (ao_rate), \ .hw.init =3D &(struct clk_init_data){ \ .ops =3D &clk_smd_rpm_ops, \ .name =3D #_active, \ @@ -51,12 +51,14 @@ .name =3D "xo_board", \ }, \ .num_parents =3D 1, \ + .flags =3D (ao_flags), \ }, \ } =20 -#define __DEFINE_CLK_SMD_RPM(_name, _active, type, r_id, key) \ +#define __DEFINE_CLK_SMD_RPM(_name, _active, type, r_id, key,\ + ao_rate, ao_flags) \ __DEFINE_CLK_SMD_RPM_PREFIX(/* empty */, _name, _active, \ - type, r_id, key) + type, r_id, key, ao_rate, ao_flags) =20 #define __DEFINE_CLK_SMD_RPM_BRANCH_PREFIX(_prefix, _name, _active,\ type, r_id, r, key, ao_flags) \ @@ -104,17 +106,22 @@ =20 #define DEFINE_CLK_SMD_RPM(_name, type, r_id) \ __DEFINE_CLK_SMD_RPM(_name##_clk, _name##_a_clk, \ - type, r_id, QCOM_RPM_SMD_KEY_RATE) + type, r_id, QCOM_RPM_SMD_KEY_RATE, INT_MAX, 0) =20 #define DEFINE_CLK_SMD_RPM_BUS(_name, r_id) \ __DEFINE_CLK_SMD_RPM_PREFIX(bus_##r_id##_, \ _name##_clk, _name##_a_clk, QCOM_SMD_RPM_BUS_CLK, r_id, \ - QCOM_RPM_SMD_KEY_RATE) + QCOM_RPM_SMD_KEY_RATE, INT_MAX, 0) + +#define DEFINE_CLK_SMD_RPM_BUS_A(_name, r_id, ao_rate, ao_flags) \ + __DEFINE_CLK_SMD_RPM_PREFIX(bus_##r_id##_, \ + _name##_clk, _name##_a_clk, QCOM_SMD_RPM_BUS_CLK, r_id, \ + QCOM_RPM_SMD_KEY_RATE, ao_rate, ao_flags) =20 #define DEFINE_CLK_SMD_RPM_CLK_SRC(_name, type, r_id) \ __DEFINE_CLK_SMD_RPM( \ _name##_clk_src, _name##_a_clk_src, \ - type, r_id, QCOM_RPM_SMD_KEY_RATE) + type, r_id, QCOM_RPM_SMD_KEY_RATE, INT_MAX, 0) =20 #define DEFINE_CLK_SMD_RPM_BRANCH(_name, type, r_id, r) \ __DEFINE_CLK_SMD_RPM_BRANCH_PREFIX(branch_, \ @@ -128,7 +135,7 @@ =20 #define DEFINE_CLK_SMD_RPM_QDSS(_name, type, r_id) \ __DEFINE_CLK_SMD_RPM(_name##_clk, _name##_a_clk, \ - type, r_id, QCOM_RPM_SMD_KEY_STATE) + type, r_id, QCOM_RPM_SMD_KEY_STATE, INT_MAX, 0) =20 #define DEFINE_CLK_SMD_RPM_XO_BUFFER(_name, r_id, r) \ __DEFINE_CLK_SMD_RPM_BRANCH(_name, _name##_a, \ --=20 2.41.0 From nobody Sun Feb 8 07:58:45 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 AE054C001DC for ; Mon, 31 Jul 2023 12:20:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232456AbjGaMUu (ORCPT ); Mon, 31 Jul 2023 08:20:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232403AbjGaMUg (ORCPT ); Mon, 31 Jul 2023 08:20:36 -0400 Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F6CA1724 for ; Mon, 31 Jul 2023 05:20:19 -0700 (PDT) Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-4f95bf5c493so7073631e87.3 for ; Mon, 31 Jul 2023 05:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690806017; x=1691410817; 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=rHNF9IdXEoScQDQd4iXA1YdLLJSZxC/415F/i5Utx2I=; b=pbYr8hnfKrNxskEMiBKtY9WoNxPZdEO6NUf+LFeHvwPAPEOkdiAreUI+6hlhyiaJ2c UBi6TsKJclWbiGCdX0ujIow0StXJofPMFXbxi7dsqcckpBTOwI4kIJ5K13STB+/z/+kh hWrvgDFOADjGY13x9MwNqaqYccyjHFjHQLzwq6sZWZSULiUDRsXM8V+Jfxib/mO/odst hOckbn2l1+mrkXznYH7nIk8lnmUn6rMwpv3fhMBmr71gk3kxWN9wfnEeQqX8EXe/sTcy 9G2K/j20ecXAvLZXpv1s++zJN8KDGSJdzzoWrBYH4Et/Rrd0CraS+xDv9etBHGZm8VHL TjnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690806017; x=1691410817; 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=rHNF9IdXEoScQDQd4iXA1YdLLJSZxC/415F/i5Utx2I=; b=YcPgZeluPQeqFHHaOBg9H4NROnFRGqZcaRX0cITlOBbEaz2Ice0BN579lK7FiGYT2k 8B8g2VJim7hOCrtGuPD4iE9U1rirY13P+77bVPuwpsn8hBpIk5X6a+qGgPmRQF7mFrn5 VtY+wp7wNeNzRijF4aJVOlkgPd6trtfDbisoqYlb/DGzt8vNkiF5JrPmj738NTXU+7TV sMmZ6GIhu9ntDOBup0ARxdu3NnJY7SHAREmIdf2tdAZMMBKf+BL51v0W/l26vuxFdm1t BX035GWeYcV2TUZRejZ8QhYL550zsTnP3Y8HtdPZlaZfymaxUfwG+ABuSxEHCcHS5+Ii TzNA== X-Gm-Message-State: ABy/qLYJLtLBqGCaIOpE2Y+KCGFoK+28qUa2EAsEzy60cJNeOezOfPSE q3/DtWF38yNoOffDkPZ5Ra3AlQ== X-Google-Smtp-Source: APBJJlHfTowJT4LROWlOLymbpAVr38gTWPW6Gp01dIw8lSG0zl6H2bPPyZ0IO3yHbijO5RfwOc5g2w== X-Received: by 2002:a19:ca03:0:b0:4fb:8771:e898 with SMTP id a3-20020a19ca03000000b004fb8771e898mr4618363lfg.15.1690806017288; Mon, 31 Jul 2023 05:20:17 -0700 (PDT) Received: from [192.168.1.101] (abyk53.neoplus.adsl.tpnet.pl. [83.9.30.53]) by smtp.gmail.com with ESMTPSA id u9-20020a056512040900b004fe11366146sm2079096lfk.51.2023.07.31.05.20.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jul 2023 05:20:16 -0700 (PDT) From: Konrad Dybcio Date: Mon, 31 Jul 2023 14:20:13 +0200 Subject: [PATCH 2/2] clk: qcom: smd-rpm: Set XO rate and CLK_IS_CRITICAL on PCNoC MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230731-topic-pcnoc-v1-2-452dd36d11d7@linaro.org> References: <20230731-topic-pcnoc-v1-0-452dd36d11d7@linaro.org> In-Reply-To: <20230731-topic-pcnoc-v1-0-452dd36d11d7@linaro.org> To: Bjorn Andersson , Andy Gross , Michael Turquette , Stephen Boyd Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-clk@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=1690806013; l=1116; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=+W0uIDuc/JsKDaPo6r8vR/8nsAtUZyS7FUGMmEfo4sQ=; b=mjwDmDZetZpVGG08tKYROcePohsp0mFSBaoaPmoS+I42e75UwmMpBAtQaRO1wE4gCVsp35qwu +RSHWqkWae7DtQHj3asvZcO0yGj1KBGNZWS3l/6f78yCHljSYvF/9AK 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 On all supported SoCs to date, the PCNoC (a.k.a CNoC_PERIPH) clock must be always-on as long as the APSS is online and only has to run at 19.2 MHz. Define it to be as such in the ACTIVE domain. Some SoCs use that clock for bus scaling, while others just need it for reaching the hardware. This commit will hurt neither. Signed-off-by: Konrad Dybcio --- drivers/clk/qcom/clk-smd-rpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/qcom/clk-smd-rpm.c b/drivers/clk/qcom/clk-smd-rpm.c index ebb8d9aac89d..0191fc0dd7da 100644 --- a/drivers/clk/qcom/clk-smd-rpm.c +++ b/drivers/clk/qcom/clk-smd-rpm.c @@ -455,7 +455,7 @@ DEFINE_CLK_SMD_RPM_BRANCH(aggre2_noc, QCOM_SMD_RPM_AGGR= _CLK, 2, 1000); DEFINE_CLK_SMD_RPM(aggre1_noc, QCOM_SMD_RPM_AGGR_CLK, 1); DEFINE_CLK_SMD_RPM(aggre2_noc, QCOM_SMD_RPM_AGGR_CLK, 2); =20 -DEFINE_CLK_SMD_RPM_BUS(pcnoc, 0); +DEFINE_CLK_SMD_RPM_BUS_A(pcnoc, 0, 19200000, CLK_IS_CRITICAL); DEFINE_CLK_SMD_RPM_BUS(snoc, 1); DEFINE_CLK_SMD_RPM_BUS(sysmmnoc, 2); DEFINE_CLK_SMD_RPM_BUS(cnoc, 2); --=20 2.41.0