From: sashiko-bot@kernel.org
To: "Abel Vesa" <abel.vesa@oss.qualcomm.com>
Cc: robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org,
linux-clk@vger.kernel.org
Subject: Re: [PATCH v2 01/16] clk: qcom: gcc-sm8250: Tie the CX power domain to controller
Date: Thu, 20 Aug 2026 10:25:58 +0000 [thread overview]
Message-ID: <20260820102558.A9A2C1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260820-qcom-tie-cx-to-gcc-v2-1-e67ea30d8b7b@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch's intended power savings are defeated because `gcc_cpuss_ahb_clk` is flagged `CLK_IS_CRITICAL`, permanently holding a runtime PM reference and preventing the CX domain from powering down.
--
--- Patch [1]: [PATCH v2 01/16] clk: qcom: gcc-sm8250: Tie the CX power domain to controller ---
commit e29c0e17d3927082fc53c778fba9e97b8d02b015
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
clk: qcom: gcc-sm8250: Tie the CX power domain to controller
This commit enables runtime PM for the GCC controller. The intention is to
allow the CX power domain to be powered down once all GCC consumers release
their clocks and GDSCs.
> diff --git a/drivers/clk/qcom/gcc-sm8250.c b/drivers/clk/qcom/gcc-sm8250.c
> --- a/drivers/clk/qcom/gcc-sm8250.c
> +++ b/drivers/clk/qcom/gcc-sm8250.c
> @@ -3618,6 +3618,7 @@ static const struct qcom_cc_desc gcc_sm8250_desc = {
> .resets = gcc_sm8250_resets,
> .num_resets = ARRAY_SIZE(gcc_sm8250_resets),
> .gdscs = gcc_sm8250_gdscs,
> + .use_rpm = true,
[Severity: Medium]
Does this actually allow the controller to power down in practice?
Looking at gcc_cpuss_ahb_clk in this driver, it is registered with the
CLK_IS_CRITICAL flag:
static struct clk_branch gcc_cpuss_ahb_clk = {
...
.clkr = {
.hw.init = &(struct clk_init_data){
.name = "gcc_cpuss_ahb_clk",
.flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT,
...
},
},
};
When the clock core prepares a critical clock during registration, it calls
clk_pm_runtime_get(), which permanently increments the runtime PM usage
counter for the GCC controller device. Because a critical clock is never
unprepared, this runtime PM reference is held forever.
Will the device's PM usage counter ever be able to reach 0 to allow the
CX domain to power down, or does the critical clock structurally block the
intended power savings?
> .num_gdscs = ARRAY_SIZE(gcc_sm8250_gdscs),
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260820-qcom-tie-cx-to-gcc-v2-0-e67ea30d8b7b@oss.qualcomm.com?part=1
next prev parent reply other threads:[~2026-08-20 10:25 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 10:07 [PATCH v2 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
2026-08-20 10:07 ` [PATCH v2 01/16] clk: qcom: gcc-sm8250: Tie the CX power domain to controller Abel Vesa
2026-08-20 10:25 ` sashiko-bot [this message]
2026-08-20 10:29 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 02/16] clk: qcom: gcc-sm8350: " Abel Vesa
2026-08-20 10:29 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 03/16] clk: qcom: gcc-sm8450: " Abel Vesa
2026-08-20 10:29 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 04/16] clk: qcom: gcc-sm8550: " Abel Vesa
2026-08-20 10:29 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 05/16] clk: qcom: gcc-sm8650: " Abel Vesa
2026-08-20 10:30 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 06/16] clk: qcom: gcc-sm8750: " Abel Vesa
2026-08-20 10:25 ` sashiko-bot
2026-08-20 10:30 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 07/16] clk: qcom: gcc-kaanapali: " Abel Vesa
2026-08-20 10:30 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 08/16] clk: qcom: gcc-qcs615: " Abel Vesa
2026-08-20 10:27 ` sashiko-bot
2026-08-20 10:30 ` Konrad Dybcio
2026-08-20 10:07 ` [PATCH v2 09/16] arm64: dts: qcom: sm8250: Add GCC CX power domain Abel Vesa
2026-08-20 10:20 ` sashiko-bot
2026-08-20 10:07 ` [PATCH v2 10/16] arm64: dts: qcom: sm8350: " Abel Vesa
2026-08-20 10:19 ` sashiko-bot
2026-08-20 10:07 ` [PATCH v2 11/16] arm64: dts: qcom: sm8450: " Abel Vesa
2026-08-20 10:07 ` [PATCH v2 12/16] arm64: dts: qcom: sm8550: " Abel Vesa
2026-08-20 10:07 ` [PATCH v2 13/16] arm64: dts: qcom: sm8650: " Abel Vesa
2026-08-20 10:21 ` sashiko-bot
2026-08-20 10:07 ` [PATCH v2 14/16] arm64: dts: qcom: sm8750: " Abel Vesa
2026-08-20 10:07 ` [PATCH v2 15/16] arm64: dts: qcom: kaanapali: " Abel Vesa
2026-08-20 10:07 ` [PATCH v2 16/16] arm64: dts: qcom: talos: " Abel Vesa
2026-08-20 10:22 ` sashiko-bot
2026-08-20 10:44 ` [PATCH v2 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260820102558.A9A2C1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=abel.vesa@oss.qualcomm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox