* [PATCH 01/16] clk: qcom: gcc-sm8250: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:51 ` [PATCH 02/16] clk: qcom: gcc-sm8350: " Abel Vesa
` (14 subsequent siblings)
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-sm8250.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-sm8250.c b/drivers/clk/qcom/gcc-sm8250.c
index 1c59d70e0f96..86c2be3804c1 100644
--- 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,
.num_gdscs = ARRAY_SIZE(gcc_sm8250_gdscs),
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 02/16] clk: qcom: gcc-sm8350: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
2026-08-19 12:51 ` [PATCH 01/16] clk: qcom: gcc-sm8250: Tie the CX power domain to controller Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 13:12 ` sashiko-bot
2026-08-19 12:51 ` [PATCH 03/16] clk: qcom: gcc-sm8450: " Abel Vesa
` (13 subsequent siblings)
15 siblings, 1 reply; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-sm8350.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-sm8350.c b/drivers/clk/qcom/gcc-sm8350.c
index 2d94f3046b71..996ee8592fab 100644
--- a/drivers/clk/qcom/gcc-sm8350.c
+++ b/drivers/clk/qcom/gcc-sm8350.c
@@ -3786,6 +3786,7 @@ static const struct qcom_cc_desc gcc_sm8350_desc = {
.resets = gcc_sm8350_resets,
.num_resets = ARRAY_SIZE(gcc_sm8350_resets),
.gdscs = gcc_sm8350_gdscs,
+ .use_rpm = true,
.num_gdscs = ARRAY_SIZE(gcc_sm8350_gdscs),
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 02/16] clk: qcom: gcc-sm8350: Tie the CX power domain to controller
2026-08-19 12:51 ` [PATCH 02/16] clk: qcom: gcc-sm8350: " Abel Vesa
@ 2026-08-19 13:12 ` sashiko-bot
0 siblings, 0 replies; 23+ messages in thread
From: sashiko-bot @ 2026-08-19 13:12 UTC (permalink / raw)
To: Abel Vesa; +Cc: linux-clk, robh, devicetree, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Resource leak and Use-After-Free (UAF) in generic power domain registration error paths.
--
--- Patch [2]: [PATCH 02/16] clk: qcom: gcc-sm8350: Tie the CX power domain to controller ---
commit 2f90d172dae6e2aec9b20b94ed643f0031c58164
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
clk: qcom: gcc-sm8350: Tie the CX power domain to controller
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
> diff --git a/drivers/clk/qcom/gcc-sm8350.c b/drivers/clk/qcom/gcc-sm8350.c
> index 2d94f3046b711..996ee8592fabe 100644
> --- a/drivers/clk/qcom/gcc-sm8350.c
> +++ b/drivers/clk/qcom/gcc-sm8350.c
> @@ -3786,6 +3786,7 @@ static const struct qcom_cc_desc gcc_sm8350_desc = {
> .resets = gcc_sm8350_resets,
> .num_resets = ARRAY_SIZE(gcc_sm8350_resets),
> .gdscs = gcc_sm8350_gdscs,
> + .use_rpm = true,
[Severity: High]
This is a pre-existing issue, but since this patch relies on the GDSC
infrastructure, is there a risk of a use-after-free during error handling
in the core GDSC registration?
Looking at gdsc_register() in drivers/clk/qcom/gdsc.c, if a failure occurs
during gdsc_init(), the function returns directly:
drivers/clk/qcom/gdsc.c:gdsc_register() {
...
ret = gdsc_init(scs[i]);
if (ret)
return ret;
...
}
Similarly, if of_genpd_add_provider_onecell() fails, it returns without
unregistering the initialized domains:
drivers/clk/qcom/gdsc.c:gdsc_register() {
...
return of_genpd_add_provider_onecell(dev->of_node, data);
err_pm_subdomain_remove:
gdsc_pm_subdomain_remove(desc, i);
return ret;
}
Because pm_genpd_remove() is not called on these error paths, the domains
remain linked in the global gpd_list.
When the probe fails, devres will clean up managed resources like regmap.
Later, when the genpd framework invokes pd->power_off() (such as via
genpd_power_off_unused() at late_initcall), it calls gdsc_disable() which
could dereference these freed devres-managed pointers.
Should gdsc_register() be updated to unregister the power domains on these
error paths to prevent dangling pointers?
> .num_gdscs = ARRAY_SIZE(gcc_sm8350_gdscs),
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 03/16] clk: qcom: gcc-sm8450: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
2026-08-19 12:51 ` [PATCH 01/16] clk: qcom: gcc-sm8250: Tie the CX power domain to controller Abel Vesa
2026-08-19 12:51 ` [PATCH 02/16] clk: qcom: gcc-sm8350: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 13:15 ` sashiko-bot
2026-08-19 12:51 ` [PATCH 04/16] clk: qcom: gcc-sm8550: " Abel Vesa
` (12 subsequent siblings)
15 siblings, 1 reply; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-sm8450.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-sm8450.c b/drivers/clk/qcom/gcc-sm8450.c
index b18bb34889ab..b3ab458048dc 100644
--- a/drivers/clk/qcom/gcc-sm8450.c
+++ b/drivers/clk/qcom/gcc-sm8450.c
@@ -3399,6 +3399,7 @@ static const struct qcom_cc_desc gcc_sm8450_desc = {
.resets = gcc_sm8450_resets,
.num_resets = ARRAY_SIZE(gcc_sm8450_resets),
.gdscs = gcc_sm8450_gdscs,
+ .use_rpm = true,
.num_gdscs = ARRAY_SIZE(gcc_sm8450_gdscs),
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 03/16] clk: qcom: gcc-sm8450: Tie the CX power domain to controller
2026-08-19 12:51 ` [PATCH 03/16] clk: qcom: gcc-sm8450: " Abel Vesa
@ 2026-08-19 13:15 ` sashiko-bot
0 siblings, 0 replies; 23+ messages in thread
From: sashiko-bot @ 2026-08-19 13:15 UTC (permalink / raw)
To: Abel Vesa; +Cc: conor+dt, robh, devicetree, linux-clk
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Unbinding the driver causes a devres ordering issue that leads to a lockless linked list Use-After-Free and permanent power leak.
--
--- Patch [3]: [PATCH 03/16] clk: qcom: gcc-sm8450: Tie the CX power domain to controller ---
commit fce258c6d28a3b8028f9c7e9bc3065854572f262
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
clk: qcom: gcc-sm8450: Tie the CX power domain to controller
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs. This lets
GDSC consumers propagate their votes through the GCC provider to the CX
parent domain.
> diff --git a/drivers/clk/qcom/gcc-sm8450.c b/drivers/clk/qcom/gcc-sm8450.c
> index b18bb34889ab2..b3ab458048dc8 100644
> --- a/drivers/clk/qcom/gcc-sm8450.c
> +++ b/drivers/clk/qcom/gcc-sm8450.c
> @@ -3399,6 +3399,7 @@ static const struct qcom_cc_desc gcc_sm8450_desc = {
> .resets = gcc_sm8450_resets,
> .num_resets = ARRAY_SIZE(gcc_sm8450_resets),
> .gdscs = gcc_sm8450_gdscs,
> + .use_rpm = true,
[Severity: High]
This is a pre-existing issue, but will setting use_rpm expose a Use-After-Free
and power leak during driver unbind?
When the driver unbinds, devres cleanup runs qcom_cc_gdsc_unregister(), which
calls gdsc_pm_subdomain_remove(). However, at this point platform_remove() has
already detached the PM domain, making dev->pm_domain NULL.
This causes gdsc_pm_subdomain_remove() in drivers/clk/qcom/gdsc.c to skip the
safe detachment:
else if (!IS_ERR_OR_NULL(dev->pm_domain))
pm_genpd_remove_subdomain(pd_to_genpd(dev->pm_domain), &scs[i]->pd);
As a result, an unsafe fallback execution path is taken in
drivers/pmdomain/core.c:genpd_remove():
list_for_each_entry_safe(link, l, &genpd->child_links, child_node) {
list_del(&link->parent_node);
list_del(&link->child_node);
kfree(link);
}
This modifies the parent's parent_links list without acquiring the parent's
lock, which could lead to a lockless linked list Use-After-Free. It also
fails to decrement sd_count, which keeps the CX domain powered on forever.
Since devm_add_action_or_reset() in
drivers/clk/qcom/common.c:qcom_cc_really_probe() schedules this cleanup to
happen after dev->pm_domain is cleared, is there a way to address this devres
ordering issue before enabling use_rpm?
> .num_gdscs = ARRAY_SIZE(gcc_sm8450_gdscs),
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 04/16] clk: qcom: gcc-sm8550: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (2 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 03/16] clk: qcom: gcc-sm8450: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:51 ` [PATCH 05/16] clk: qcom: gcc-sm8650: " Abel Vesa
` (11 subsequent siblings)
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-sm8550.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-sm8550.c b/drivers/clk/qcom/gcc-sm8550.c
index 36a5b7de5b55..427ae9cf28c1 100644
--- a/drivers/clk/qcom/gcc-sm8550.c
+++ b/drivers/clk/qcom/gcc-sm8550.c
@@ -3326,6 +3326,7 @@ static const struct qcom_cc_desc gcc_sm8550_desc = {
.resets = gcc_sm8550_resets,
.num_resets = ARRAY_SIZE(gcc_sm8550_resets),
.gdscs = gcc_sm8550_gdscs,
+ .use_rpm = true,
.num_gdscs = ARRAY_SIZE(gcc_sm8550_gdscs),
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 05/16] clk: qcom: gcc-sm8650: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (3 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 04/16] clk: qcom: gcc-sm8550: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:51 ` [PATCH 06/16] clk: qcom: gcc-sm8750: " Abel Vesa
` (10 subsequent siblings)
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-sm8650.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-sm8650.c b/drivers/clk/qcom/gcc-sm8650.c
index f7e2d7ec60c9..b5cd4e3917b7 100644
--- a/drivers/clk/qcom/gcc-sm8650.c
+++ b/drivers/clk/qcom/gcc-sm8650.c
@@ -3784,6 +3784,7 @@ static const struct qcom_cc_desc gcc_sm8650_desc = {
.resets = gcc_sm8650_resets,
.num_resets = ARRAY_SIZE(gcc_sm8650_resets),
.gdscs = gcc_sm8650_gdscs,
+ .use_rpm = true,
.num_gdscs = ARRAY_SIZE(gcc_sm8650_gdscs),
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 06/16] clk: qcom: gcc-sm8750: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (4 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 05/16] clk: qcom: gcc-sm8650: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:51 ` [PATCH 07/16] clk: qcom: gcc-kaanapali: " Abel Vesa
` (9 subsequent siblings)
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-sm8750.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-sm8750.c b/drivers/clk/qcom/gcc-sm8750.c
index 6cfe90122268..a4a3ece74f40 100644
--- a/drivers/clk/qcom/gcc-sm8750.c
+++ b/drivers/clk/qcom/gcc-sm8750.c
@@ -3195,6 +3195,7 @@ static const struct qcom_cc_desc gcc_sm8750_desc = {
.resets = gcc_sm8750_resets,
.num_resets = ARRAY_SIZE(gcc_sm8750_resets),
.gdscs = gcc_sm8750_gdscs,
+ .use_rpm = true,
.num_gdscs = ARRAY_SIZE(gcc_sm8750_gdscs),
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 07/16] clk: qcom: gcc-kaanapali: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (5 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 06/16] clk: qcom: gcc-sm8750: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:51 ` [PATCH 08/16] clk: qcom: gcc-qcs615: " Abel Vesa
` (8 subsequent siblings)
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Fixes: d1919c375f21 ("clk: qcom: Add support for Global clock controller on Kaanapali")
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-kaanapali.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-kaanapali.c b/drivers/clk/qcom/gcc-kaanapali.c
index 5bcbcd178657..c40d2da1086a 100644
--- a/drivers/clk/qcom/gcc-kaanapali.c
+++ b/drivers/clk/qcom/gcc-kaanapali.c
@@ -3502,6 +3502,7 @@ static const struct qcom_cc_desc gcc_kaanapali_desc = {
.num_resets = ARRAY_SIZE(gcc_kaanapali_resets),
.gdscs = gcc_kaanapali_gdscs,
.num_gdscs = ARRAY_SIZE(gcc_kaanapali_gdscs),
+ .use_rpm = true,
.driver_data = &gcc_kaanapali_driver_data,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 08/16] clk: qcom: gcc-qcs615: Tie the CX power domain to controller
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (6 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 07/16] clk: qcom: gcc-kaanapali: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:51 ` [PATCH 09/16] arm64: dts: qcom: sm8250: Add GCC CX power domain Abel Vesa
` (7 subsequent siblings)
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
Enable runtime PM for the controller so the common GCC probe path resumes
the attached domain while registering clocks, resets and GDSCs.
This lets GDSC consumers propagate their votes through the GCC provider to
the CX parent domain.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-qcs615.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-qcs615.c b/drivers/clk/qcom/gcc-qcs615.c
index 57f8c80c6f32..601c81c84450 100644
--- a/drivers/clk/qcom/gcc-qcs615.c
+++ b/drivers/clk/qcom/gcc-qcs615.c
@@ -2967,6 +2967,7 @@ static const struct qcom_cc_desc gcc_qcs615_desc = {
.resets = gcc_qcs615_resets,
.num_resets = ARRAY_SIZE(gcc_qcs615_resets),
.gdscs = gcc_qcs615_gdscs,
+ .use_rpm = true,
.num_gdscs = ARRAY_SIZE(gcc_qcs615_gdscs),
};
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 09/16] arm64: dts: qcom: sm8250: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (7 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 08/16] clk: qcom: gcc-qcs615: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 13:08 ` sashiko-bot
2026-08-19 12:51 ` [PATCH 10/16] arm64: dts: qcom: sm8350: " Abel Vesa
` (6 subsequent siblings)
15 siblings, 1 reply; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on SM8250 are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8250.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 90f8b091634e..50790cf1c3ca 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -971,6 +971,7 @@ gcc: clock-controller@100000 {
clocks = <&rpmhcc RPMH_CXO_CLK>,
<&rpmhcc RPMH_CXO_CLK_A>,
<&sleep_clk>;
+ power-domains = <&rpmhpd RPMHPD_CX>;
};
ipcc: mailbox@408000 {
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 09/16] arm64: dts: qcom: sm8250: Add GCC CX power domain
2026-08-19 12:51 ` [PATCH 09/16] arm64: dts: qcom: sm8250: Add GCC CX power domain Abel Vesa
@ 2026-08-19 13:08 ` sashiko-bot
0 siblings, 0 replies; 23+ messages in thread
From: sashiko-bot @ 2026-08-19 13:08 UTC (permalink / raw)
To: Abel Vesa; +Cc: robh, conor+dt, devicetree, linux-clk
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Missing DT binding update for `power-domains` property.
--
--- Patch [9]: [PATCH 09/16] arm64: dts: qcom: sm8250: Add GCC CX power domain ---
commit 8ff2c27fe501198384b866811eea4d47f3a33812
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
arm64: dts: qcom: sm8250: Add GCC CX power domain
This commit adds a reference to the RPMh CX power domain for the GCC clock
controller on SM8250. This ensures that GCC GDSC consumers correctly hold
the required CX vote when enabling their local domain.
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index 90f8b091634e9..50790cf1c3ca1 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -971,6 +971,7 @@ gcc: clock-controller@100000 {
> clocks = <&rpmhcc RPMH_CXO_CLK>,
> <&rpmhcc RPMH_CXO_CLK_A>,
> <&sleep_clk>;
> + power-domains = <&rpmhpd RPMHPD_CX>;
[Severity: Low]
Does adding this property to the device tree without also updating the
dt-binding schema for qcom,gcc-sm8250 cause a validation warning during
make dtbs_check?
If the schema restricts additional properties, the tools typically flag
this new power-domains property as an unevaluated property.
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com?part=9
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 10/16] arm64: dts: qcom: sm8350: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (8 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 09/16] arm64: dts: qcom: sm8250: Add GCC CX power domain Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 13:05 ` sashiko-bot
2026-08-19 12:51 ` [PATCH 11/16] arm64: dts: qcom: sm8450: " Abel Vesa
` (5 subsequent siblings)
15 siblings, 1 reply; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on SM8350 are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8350.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
index 32b47f5ec1f6..84012a407c4b 100644
--- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
@@ -699,6 +699,7 @@ gcc: clock-controller@100000 {
<&ufs_mem_phy 2>,
<&usb_1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
<0>;
+ power-domains = <&rpmhpd RPMHPD_CX>;
};
ipcc: mailbox@408000 {
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 10/16] arm64: dts: qcom: sm8350: Add GCC CX power domain
2026-08-19 12:51 ` [PATCH 10/16] arm64: dts: qcom: sm8350: " Abel Vesa
@ 2026-08-19 13:05 ` sashiko-bot
0 siblings, 0 replies; 23+ messages in thread
From: sashiko-bot @ 2026-08-19 13:05 UTC (permalink / raw)
To: Abel Vesa; +Cc: devicetree, conor+dt, linux-clk, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The `power-domains` property is added to the SM8350 GCC device tree node, but it is not declared in the corresponding device tree binding schema (`qcom,gcc-sm8350.yaml`).
--
--- Patch [10]: [PATCH 10/16] arm64: dts: qcom: sm8350: Add GCC CX power domain ---
commit 114b5cd0dea1a6813cd14b2f585ff85d4973d4c9
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
arm64: dts: qcom: sm8350: Add GCC CX power domain
This commit adds the RPMh CX power domain as a reference in the SM8350
GCC node. This ensures that consumer votes for GCC-provided GDSCs properly
propagate to the RPMh CX power domain.
> diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
> --- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
> @@ -699,6 +699,7 @@ gcc: clock-controller@100000 {
> <&ufs_mem_phy 2>,
> <&usb_1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
> <0>;
> + power-domains = <&rpmhpd RPMHPD_CX>;
[Severity: Low]
Does this property addition also need a corresponding update to the device
tree binding schema in qcom,gcc-sm8350.yaml? Since power-domains is not
currently declared in that schema, will this cause a validation error when
running make dtbs_check?
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com?part=10
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 11/16] arm64: dts: qcom: sm8450: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (9 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 10/16] arm64: dts: qcom: sm8350: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:51 ` [PATCH 12/16] arm64: dts: qcom: sm8550: " Abel Vesa
` (4 subsequent siblings)
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on SM8450 are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8450.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index b8793482b181..176cced72245 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -942,6 +942,7 @@ gcc: clock-controller@100000 {
"ufs_phy_rx_symbol_1_clk",
"ufs_phy_tx_symbol_0_clk",
"usb3_phy_wrapper_gcc_usb30_pipe_clk";
+ power-domains = <&rpmhpd RPMHPD_CX>;
};
gpi_dma2: dma-controller@800000 {
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 12/16] arm64: dts: qcom: sm8550: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (10 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 11/16] arm64: dts: qcom: sm8450: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 13:03 ` sashiko-bot
2026-08-19 12:51 ` [PATCH 13/16] arm64: dts: qcom: sm8650: " Abel Vesa
` (3 subsequent siblings)
15 siblings, 1 reply; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on SM8550 are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8550.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
index 0e701e709235..7137efb45346 100644
--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
@@ -1195,6 +1195,7 @@ gcc: clock-controller@100000 {
<&ufs_mem_phy 1>,
<&ufs_mem_phy 2>,
<&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
+ power-domains = <&rpmhpd RPMHPD_CX>;
};
ipcc: mailbox@408000 {
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 12/16] arm64: dts: qcom: sm8550: Add GCC CX power domain
2026-08-19 12:51 ` [PATCH 12/16] arm64: dts: qcom: sm8550: " Abel Vesa
@ 2026-08-19 13:03 ` sashiko-bot
0 siblings, 0 replies; 23+ messages in thread
From: sashiko-bot @ 2026-08-19 13:03 UTC (permalink / raw)
To: Abel Vesa; +Cc: linux-clk, conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Adding `power-domains` to the `qcom,sm8550-gcc` device tree node without updating the corresponding YAML binding causes a `dtbs_check` validation warning.
--
--- Patch [12]: [PATCH 12/16] arm64: dts: qcom: sm8550: Add GCC CX power domain ---
commit fbc80a89d2b6530024ab43fff461d5268dfeb3c4
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
arm64: dts: qcom: sm8550: Add GCC CX power domain
This commit adds a reference to the RPMh CX power domain for the GCC node
on SM8550. This ensures that consumer votes propagate properly.
> diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> index 0e701e709235c..7137efb453467 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> @@ -1195,6 +1195,7 @@ gcc: clock-controller@100000 {
> <&ufs_mem_phy 1>,
> <&ufs_mem_phy 2>,
> <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
> + power-domains = <&rpmhpd RPMHPD_CX>;
[Severity: Low]
Does this change require a corresponding update to the device tree bindings
YAML schema for qcom,sm8550-gcc?
Adding the power-domains property here without documenting it in the binding
schema will cause a dtbs_check validation warning.
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com?part=12
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 13/16] arm64: dts: qcom: sm8650: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (11 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 12/16] arm64: dts: qcom: sm8550: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 13:09 ` sashiko-bot
2026-08-19 12:51 ` [PATCH 14/16] arm64: dts: qcom: sm8750: " Abel Vesa
` (2 subsequent siblings)
15 siblings, 1 reply; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on SM8650 are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8650.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
index b679fd8afb7d..962797c15abf 100644
--- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
@@ -2019,6 +2019,8 @@ gcc: clock-controller@100000 {
<&ufs_mem_phy 2>,
<&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
+ power-domains = <&rpmhpd RPMHPD_CX>;
+
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 13/16] arm64: dts: qcom: sm8650: Add GCC CX power domain
2026-08-19 12:51 ` [PATCH 13/16] arm64: dts: qcom: sm8650: " Abel Vesa
@ 2026-08-19 13:09 ` sashiko-bot
0 siblings, 0 replies; 23+ messages in thread
From: sashiko-bot @ 2026-08-19 13:09 UTC (permalink / raw)
To: Abel Vesa; +Cc: linux-clk, robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The DT schema for SM8650 GCC does not define the 'power-domains' property, resulting in a dtbs_check validation failure.
--
--- Patch [13]: [PATCH 13/16] arm64: dts: qcom: sm8650: Add GCC CX power domain ---
commit 9a61032f8e0b737e1a6fc6895f1ca5a328c9b7d3
Author: Abel Vesa <abel.vesa@oss.qualcomm.com>
arm64: dts: qcom: sm8650: Add GCC CX power domain
This commit adds the RPMh CX power-domain reference to the SM8650 GCC
clock-controller node. This ensures consumers of GCC-provided GDSCs correctly
trigger the required CX vote when enabling their local domains.
> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> index b679fd8afb7d5..962797c15abf5 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> @@ -2019,6 +2019,8 @@ gcc: clock-controller@100000 {
[ ... ]
> <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
>
> + power-domains = <&rpmhpd RPMHPD_CX>;
[Severity: Low]
Does this new property require a corresponding update to the DT schema?
Looking at Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml,
it uses unevaluatedProperties: false but does not define the power-domains
property. Will adding this property to the device tree without updating the
bindings schema cause a validation failure during make dtbs_check?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com?part=13
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 14/16] arm64: dts: qcom: sm8750: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (12 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 13/16] arm64: dts: qcom: sm8650: " Abel Vesa
@ 2026-08-19 12:51 ` Abel Vesa
2026-08-19 12:52 ` [PATCH 15/16] arm64: dts: qcom: kaanapali: " Abel Vesa
2026-08-19 12:52 ` [PATCH 16/16] arm64: dts: qcom: talos: " Abel Vesa
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:51 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on SM8750 are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8750.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index dd738d13df8e..cda18d4dc6a1 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -676,6 +676,8 @@ gcc: clock-controller@100000 {
<0>,
<&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
+ power-domains = <&rpmhpd RPMHPD_CX>;
+
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 15/16] arm64: dts: qcom: kaanapali: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (13 preceding siblings ...)
2026-08-19 12:51 ` [PATCH 14/16] arm64: dts: qcom: sm8750: " Abel Vesa
@ 2026-08-19 12:52 ` Abel Vesa
2026-08-19 12:52 ` [PATCH 16/16] arm64: dts: qcom: talos: " Abel Vesa
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:52 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on Kaanapali are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Fixes: 2eeb5767d53f ("arm64: dts: qcom: Introduce Kaanapali SoC")
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index 131fd2a16c54..c1528cc8b7b3 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -552,6 +552,8 @@ gcc: clock-controller@100000 {
<&ufs_mem_phy 2>,
<0>;
+ power-domains = <&rpmhpd RPMHPD_CX>;
+
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread* [PATCH 16/16] arm64: dts: qcom: talos: Add GCC CX power domain
2026-08-19 12:51 [PATCH 00/16] clk: qcom: Tie CX power domains to GCCs Abel Vesa
` (14 preceding siblings ...)
2026-08-19 12:52 ` [PATCH 15/16] arm64: dts: qcom: kaanapali: " Abel Vesa
@ 2026-08-19 12:52 ` Abel Vesa
15 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-19 12:52 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Konrad Dybcio, Dmitry Baryshkov, Taniya Das, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tengfei Fan,
Jingyi Wang
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, Abel Vesa
The GCC GDSCs on QCS615 are backed by the RPMh CX power domain. Without
describing that parent domain, consumers of GCC-provided GDSCs can enable
their local domain without causing the required CX vote to be held.
Add the CX power-domain reference to the GCC node so votes from GCC GDSC
consumers can propagate to RPMh CX.
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/talos.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
index eedfdce3c479..06ca54acf565 100644
--- a/arch/arm64/boot/dts/qcom/talos.dtsi
+++ b/arch/arm64/boot/dts/qcom/talos.dtsi
@@ -706,6 +706,8 @@ gcc: clock-controller@100000 {
"bi_tcxo_ao",
"sleep_clk";
+ power-domains = <&rpmhpd RPMHPD_CX>;
+
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
--
2.54.0
^ permalink raw reply related [flat|nested] 23+ messages in thread