mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] clk: qcom: gcc-glymur: Tie the CX power domain to controller
@ 2026-03-09 10:06 Abel Vesa
  2026-03-09 10:06 ` [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp Abel Vesa
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Abel Vesa @ 2026-03-09 10:06 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Dmitry Baryshkov, Jyothi Kumar Seerapu,
	Konrad Dybcio
  Cc: Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi, Abel Vesa

The suggestion of having the CX power domain tied up to the GCC
controller started here:

https://lore.kernel.org/lkml/fe210f0b-692b-4c45-afc4-fc2bc5e57854@oss.qualcomm.com/

and then, for Glymur, it has been brought up here as well:

https://lore.kernel.org/all/0248dc51-1036-426c-b1de-dbc71696e2c1@oss.qualcomm.com/

These plus a discussion off-list led to this patchset being done.

Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
Abel Vesa (3):
      dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp
      clk: qcom: gcc-glymur: Enable runtime PM
      arm64: dts: qcom: glymur: Tie up the CX power domain to GCC

 .../devicetree/bindings/clock/qcom,glymur-gcc.yaml         | 14 ++++++++++++++
 arch/arm64/boot/dts/qcom/glymur.dtsi                       |  2 ++
 drivers/clk/qcom/gcc-glymur.c                              |  1 +
 3 files changed, 17 insertions(+)
---
base-commit: a0ae2a256046c0c5d3778d1a194ff2e171f16e5f
change-id: 20260309-glymur-fix-gcc-cx-scaling-a0b350cd5741

Best regards,
--  
Abel Vesa <abel.vesa@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp
  2026-03-09 10:06 [PATCH 0/3] clk: qcom: gcc-glymur: Tie the CX power domain to controller Abel Vesa
@ 2026-03-09 10:06 ` Abel Vesa
  2026-03-09 21:27   ` Dmitry Baryshkov
  2026-03-10  3:53   ` Taniya Das
  2026-03-09 10:06 ` [PATCH 2/3] clk: qcom: gcc-glymur: Enable runtime PM Abel Vesa
  2026-03-09 10:06 ` [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC Abel Vesa
  2 siblings, 2 replies; 10+ messages in thread
From: Abel Vesa @ 2026-03-09 10:06 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Dmitry Baryshkov, Jyothi Kumar Seerapu,
	Konrad Dybcio
  Cc: Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi, Abel Vesa

It has been concluded off-list that the Global Clock Controller needs to
scale the RPMh CX power domain, otherwise some of the subsystems might
crash or be unstable. So adding the RPMh CX power domain to the clock
controller which will result in all GDSCs being parented by CX. This way,
the vote from the consumers of each GDSC will trickle all the way to CX.

So document the power domain and the required opp to that end.

Fixes: ee2d967030fe ("dt-bindings: clock: qcom: document the Glymur Global Clock Controller")
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
 .../devicetree/bindings/clock/qcom,glymur-gcc.yaml         | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
index b05b0e6c4483..94a911855776 100644
--- a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
@@ -65,9 +65,20 @@ properties:
       - description: USB4 PHY 2 pcie pipe clock source
       - description: USB4 PHY 2 Max pipe clock source
 
+  power-domains:
+    description:
+      A phandle and PM domain specifier for the CX power domain.
+    maxItems: 1
+
+  required-opps:
+    description:
+      A phandle to an OPP node describing required CX performance point.
+    maxItems: 1
+
 required:
   - compatible
   - clocks
+  - power-domains
   - '#power-domain-cells'
 
 allOf:
@@ -78,6 +89,7 @@ unevaluatedProperties: false
 examples:
   - |
     #include <dt-bindings/clock/qcom,rpmh.h>
+    #include <dt-bindings/power/qcom-rpmpd.h>
     clock-controller@100000 {
       compatible = "qcom,glymur-gcc";
       reg = <0x100000 0x1f9000>;
@@ -113,6 +125,8 @@ examples:
                <&usb4_phy_0_pcie_pipe>, <&usb4_phy_0_max_pipe>,
                <&usb4_phy_1_pcie_pipe>, <&usb4_phy_1_max_pipe>,
                <&usb4_phy_2_pcie_pipe>, <&usb4_phy_2_max_pipe>;
+      power-domains = <&rpmhpd RPMHPD_CX>;
+      required-opps = <&rpmhpd_opp_nom>;
       #clock-cells = <1>;
       #reset-cells = <1>;
       #power-domain-cells = <1>;

-- 
2.48.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 2/3] clk: qcom: gcc-glymur: Enable runtime PM
  2026-03-09 10:06 [PATCH 0/3] clk: qcom: gcc-glymur: Tie the CX power domain to controller Abel Vesa
  2026-03-09 10:06 ` [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp Abel Vesa
@ 2026-03-09 10:06 ` Abel Vesa
  2026-03-09 21:29   ` Dmitry Baryshkov
  2026-03-09 10:06 ` [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC Abel Vesa
  2 siblings, 1 reply; 10+ messages in thread
From: Abel Vesa @ 2026-03-09 10:06 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Dmitry Baryshkov, Jyothi Kumar Seerapu,
	Konrad Dybcio
  Cc: Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi, Abel Vesa

It has been concluded off-list that the controller needs to scale the RPMh
CX power domain, otherwise some of the subsystems might crash or be
unstable. So adding the RPMh CX power domain to the controller will result
in all GDSCs being parented by CX. This way, the vote from the consumers
of each GDSC will trickle all the way to CX.

So since there is a power domain attached to the controller, enable
runtime PM.

Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
 drivers/clk/qcom/gcc-glymur.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/qcom/gcc-glymur.c b/drivers/clk/qcom/gcc-glymur.c
index 0f3981252a68..7cb5076a460f 100644
--- a/drivers/clk/qcom/gcc-glymur.c
+++ b/drivers/clk/qcom/gcc-glymur.c
@@ -8578,6 +8578,7 @@ static const struct qcom_cc_desc gcc_glymur_desc = {
 	.num_resets = ARRAY_SIZE(gcc_glymur_resets),
 	.gdscs = gcc_glymur_gdscs,
 	.num_gdscs = ARRAY_SIZE(gcc_glymur_gdscs),
+	.use_rpm = true,
 	.driver_data = &gcc_glymur_driver_data,
 };
 

-- 
2.48.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC
  2026-03-09 10:06 [PATCH 0/3] clk: qcom: gcc-glymur: Tie the CX power domain to controller Abel Vesa
  2026-03-09 10:06 ` [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp Abel Vesa
  2026-03-09 10:06 ` [PATCH 2/3] clk: qcom: gcc-glymur: Enable runtime PM Abel Vesa
@ 2026-03-09 10:06 ` Abel Vesa
  2026-03-09 11:17   ` Konrad Dybcio
  2026-03-09 21:29   ` Dmitry Baryshkov
  2 siblings, 2 replies; 10+ messages in thread
From: Abel Vesa @ 2026-03-09 10:06 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Dmitry Baryshkov, Jyothi Kumar Seerapu,
	Konrad Dybcio
  Cc: Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi, Abel Vesa

It has been concluded off-list that the Global Clock Controller needs to
scale the RPMh CX power domain, otherwise some of the subsystems might
crash or be unstable. So adding the RPMh CX power domain to the clock
controller which will result in all GDSCs being parented by CX. This way,
the vote from the consumers of each GDSC will trickle all the way to CX.

So add the power domain and Make sure the required OPP is nominal.

Fixes: 41b6e8db400c ("arm64: dts: qcom: Introduce Glymur base dtsi")
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/glymur.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index e269cec7942c..2d1ffbf53730 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -764,6 +764,8 @@ gcc: clock-controller@100000 {
 			#clock-cells = <1>;
 			#reset-cells = <1>;
 			#power-domain-cells = <1>;
+			power-domains = <&rpmhpd RPMHPD_CX>;
+			required-opps = <&rpmhpd_opp_nom>;
 		};
 
 		gpi_dma2: dma-controller@800000 {

-- 
2.48.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC
  2026-03-09 10:06 ` [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC Abel Vesa
@ 2026-03-09 11:17   ` Konrad Dybcio
  2026-03-09 12:09     ` Abel Vesa
  2026-03-09 21:29   ` Dmitry Baryshkov
  1 sibling, 1 reply; 10+ messages in thread
From: Konrad Dybcio @ 2026-03-09 11:17 UTC (permalink / raw)
  To: Abel Vesa, Bjorn Andersson, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Taniya Das,
	Konrad Dybcio, Maulik Shah, Dmitry Baryshkov,
	Jyothi Kumar Seerapu
  Cc: Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi

On 3/9/26 11:06 AM, Abel Vesa wrote:
> It has been concluded off-list that the Global Clock Controller needs to
> scale the RPMh CX power domain, otherwise some of the subsystems might
> crash or be unstable. So adding the RPMh CX power domain to the clock
> controller which will result in all GDSCs being parented by CX. This way,
> the vote from the consumers of each GDSC will trickle all the way to CX.
> 
> So add the power domain and Make sure the required OPP is nominal.
> 
> Fixes: 41b6e8db400c ("arm64: dts: qcom: Introduce Glymur base dtsi")
> Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/glymur.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> index e269cec7942c..2d1ffbf53730 100644
> --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
> @@ -764,6 +764,8 @@ gcc: clock-controller@100000 {
>  			#clock-cells = <1>;
>  			#reset-cells = <1>;
>  			#power-domain-cells = <1>;
> +			power-domains = <&rpmhpd RPMHPD_CX>;
> +			required-opps = <&rpmhpd_opp_nom>;

Let's not keep the system at close-to-full power all the time.
Please drop required-opps.

Konrad

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC
  2026-03-09 11:17   ` Konrad Dybcio
@ 2026-03-09 12:09     ` Abel Vesa
  0 siblings, 0 replies; 10+ messages in thread
From: Abel Vesa @ 2026-03-09 12:09 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Dmitry Baryshkov, Jyothi Kumar Seerapu,
	Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi

On 26-03-09 12:17:18, Konrad Dybcio wrote:
> On 3/9/26 11:06 AM, Abel Vesa wrote:
> > It has been concluded off-list that the Global Clock Controller needs to
> > scale the RPMh CX power domain, otherwise some of the subsystems might
> > crash or be unstable. So adding the RPMh CX power domain to the clock
> > controller which will result in all GDSCs being parented by CX. This way,
> > the vote from the consumers of each GDSC will trickle all the way to CX.
> > 
> > So add the power domain and Make sure the required OPP is nominal.
> > 
> > Fixes: 41b6e8db400c ("arm64: dts: qcom: Introduce Glymur base dtsi")
> > Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> > ---
> >  arch/arm64/boot/dts/qcom/glymur.dtsi | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> > index e269cec7942c..2d1ffbf53730 100644
> > --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
> > @@ -764,6 +764,8 @@ gcc: clock-controller@100000 {
> >  			#clock-cells = <1>;
> >  			#reset-cells = <1>;
> >  			#power-domain-cells = <1>;
> > +			power-domains = <&rpmhpd RPMHPD_CX>;
> > +			required-opps = <&rpmhpd_opp_nom>;
> 
> Let's not keep the system at close-to-full power all the time.
> Please drop required-opps.

Did in v2.

Thanks for reviewing.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp
  2026-03-09 10:06 ` [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp Abel Vesa
@ 2026-03-09 21:27   ` Dmitry Baryshkov
  2026-03-10  3:53   ` Taniya Das
  1 sibling, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2026-03-09 21:27 UTC (permalink / raw)
  To: Abel Vesa
  Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Jyothi Kumar Seerapu, Konrad Dybcio,
	Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi

On Mon, Mar 09, 2026 at 12:06:17PM +0200, Abel Vesa wrote:
> It has been concluded off-list that the Global Clock Controller needs to
> scale the RPMh CX power domain, otherwise some of the subsystems might
> crash or be unstable. So adding the RPMh CX power domain to the clock

Which subsystems?

> controller which will result in all GDSCs being parented by CX. This way,
> the vote from the consumers of each GDSC will trickle all the way to CX.
> 
> So document the power domain and the required opp to that end.
> 
> Fixes: ee2d967030fe ("dt-bindings: clock: qcom: document the Glymur Global Clock Controller")
> Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> ---
>  .../devicetree/bindings/clock/qcom,glymur-gcc.yaml         | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> index b05b0e6c4483..94a911855776 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> @@ -65,9 +65,20 @@ properties:
>        - description: USB4 PHY 2 pcie pipe clock source
>        - description: USB4 PHY 2 Max pipe clock source
>  
> +  power-domains:
> +    description:
> +      A phandle and PM domain specifier for the CX power domain.
> +    maxItems: 1
> +
> +  required-opps:
> +    description:
> +      A phandle to an OPP node describing required CX performance point.
> +    maxItems: 1

If you only need to use CX as a parent to GDSCs (BTW: now all GDSCs have
CX as a parent, is it expected?), then why do you also need to case a
vote on CX?

> +
>  required:
>    - compatible
>    - clocks
> +  - power-domains
>    - '#power-domain-cells'
>  
>  allOf:
> @@ -78,6 +89,7 @@ unevaluatedProperties: false
>  examples:
>    - |
>      #include <dt-bindings/clock/qcom,rpmh.h>
> +    #include <dt-bindings/power/qcom-rpmpd.h>
>      clock-controller@100000 {
>        compatible = "qcom,glymur-gcc";
>        reg = <0x100000 0x1f9000>;
> @@ -113,6 +125,8 @@ examples:
>                 <&usb4_phy_0_pcie_pipe>, <&usb4_phy_0_max_pipe>,
>                 <&usb4_phy_1_pcie_pipe>, <&usb4_phy_1_max_pipe>,
>                 <&usb4_phy_2_pcie_pipe>, <&usb4_phy_2_max_pipe>;
> +      power-domains = <&rpmhpd RPMHPD_CX>;

= <&rpmhpd_cx>;

No need to import another header.

> +      required-opps = <&rpmhpd_opp_nom>;
>        #clock-cells = <1>;
>        #reset-cells = <1>;
>        #power-domain-cells = <1>;
> 
> -- 
> 2.48.1
> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/3] clk: qcom: gcc-glymur: Enable runtime PM
  2026-03-09 10:06 ` [PATCH 2/3] clk: qcom: gcc-glymur: Enable runtime PM Abel Vesa
@ 2026-03-09 21:29   ` Dmitry Baryshkov
  0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2026-03-09 21:29 UTC (permalink / raw)
  To: Abel Vesa
  Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Jyothi Kumar Seerapu, Konrad Dybcio,
	Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi

On Mon, Mar 09, 2026 at 12:06:18PM +0200, Abel Vesa wrote:
> It has been concluded off-list that the controller needs to scale the RPMh
> CX power domain, otherwise some of the subsystems might crash or be

Which?

> unstable. So adding the RPMh CX power domain to the controller will result
> in all GDSCs being parented by CX. This way, the vote from the consumers
> of each GDSC will trickle all the way to CX.

This seems to be irrelevant to the commit.

> 
> So since there is a power domain attached to the controller, enable
> runtime PM.

And this is relevant.

> 
> Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
> Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> ---
>  drivers/clk/qcom/gcc-glymur.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/clk/qcom/gcc-glymur.c b/drivers/clk/qcom/gcc-glymur.c
> index 0f3981252a68..7cb5076a460f 100644
> --- a/drivers/clk/qcom/gcc-glymur.c
> +++ b/drivers/clk/qcom/gcc-glymur.c
> @@ -8578,6 +8578,7 @@ static const struct qcom_cc_desc gcc_glymur_desc = {
>  	.num_resets = ARRAY_SIZE(gcc_glymur_resets),
>  	.gdscs = gcc_glymur_gdscs,
>  	.num_gdscs = ARRAY_SIZE(gcc_glymur_gdscs),
> +	.use_rpm = true,
>  	.driver_data = &gcc_glymur_driver_data,
>  };
>  
> 
> -- 
> 2.48.1
> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC
  2026-03-09 10:06 ` [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC Abel Vesa
  2026-03-09 11:17   ` Konrad Dybcio
@ 2026-03-09 21:29   ` Dmitry Baryshkov
  1 sibling, 0 replies; 10+ messages in thread
From: Dmitry Baryshkov @ 2026-03-09 21:29 UTC (permalink / raw)
  To: Abel Vesa
  Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Taniya Das, Konrad Dybcio,
	Maulik Shah, Jyothi Kumar Seerapu, Konrad Dybcio,
	Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi

On Mon, Mar 09, 2026 at 12:06:19PM +0200, Abel Vesa wrote:
> It has been concluded off-list that the Global Clock Controller needs to
> scale the RPMh CX power domain, otherwise some of the subsystems might
> crash or be unstable. So adding the RPMh CX power domain to the clock
> controller which will result in all GDSCs being parented by CX. This way,
> the vote from the consumers of each GDSC will trickle all the way to CX.
> 
> So add the power domain and Make sure the required OPP is nominal.

WHy?

> 
> Fixes: 41b6e8db400c ("arm64: dts: qcom: Introduce Glymur base dtsi")
> Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/glymur.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> index e269cec7942c..2d1ffbf53730 100644
> --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
> @@ -764,6 +764,8 @@ gcc: clock-controller@100000 {
>  			#clock-cells = <1>;
>  			#reset-cells = <1>;
>  			#power-domain-cells = <1>;
> +			power-domains = <&rpmhpd RPMHPD_CX>;
> +			required-opps = <&rpmhpd_opp_nom>;
>  		};
>  
>  		gpi_dma2: dma-controller@800000 {
> 
> -- 
> 2.48.1
> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp
  2026-03-09 10:06 ` [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp Abel Vesa
  2026-03-09 21:27   ` Dmitry Baryshkov
@ 2026-03-10  3:53   ` Taniya Das
  1 sibling, 0 replies; 10+ messages in thread
From: Taniya Das @ 2026-03-10  3:53 UTC (permalink / raw)
  To: Abel Vesa, Bjorn Andersson, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio,
	Maulik Shah, Dmitry Baryshkov, Jyothi Kumar Seerapu,
	Konrad Dybcio
  Cc: Krzysztof Kozlowski, Sibi Sankar, Pankaj Patil, Akhil P Oommen,
	linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Jishnu Prakash, Raviteja Laggyshetty, Kamal Wadhwa, Qiang Yu,
	Manaf Meethalavalappu Pallikunhi



On 3/9/2026 3:36 PM, Abel Vesa wrote:
> It has been concluded off-list that the Global Clock Controller needs to
> scale the RPMh CX power domain, otherwise some of the subsystems might
> crash or be unstable. So adding the RPMh CX power domain to the clock
> controller which will result in all GDSCs being parented by CX. This way,
> the vote from the consumers of each GDSC will trickle all the way to CX.
> 

Are the consumers not taking care to vote on clocks to take care?
GDSCs from design of hardware, never requires a vote to operate. It is
the clocks which has a voltage requirements.

> So document the power domain and the required opp to that end.
> 
> Fixes: ee2d967030fe ("dt-bindings: clock: qcom: document the Glymur Global Clock Controller")
> Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> ---
>  .../devicetree/bindings/clock/qcom,glymur-gcc.yaml         | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> index b05b0e6c4483..94a911855776 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> @@ -65,9 +65,20 @@ properties:
>        - description: USB4 PHY 2 pcie pipe clock source
>        - description: USB4 PHY 2 Max pipe clock source
>  
> +  power-domains:
> +    description:
> +      A phandle and PM domain specifier for the CX power domain.
> +    maxItems: 1
> +
> +  required-opps:
> +    description:
> +      A phandle to an OPP node describing required CX performance point.
> +    maxItems: 1
> +
>  required:
>    - compatible
>    - clocks
> +  - power-domains
>    - '#power-domain-cells'
>  
>  allOf:
> @@ -78,6 +89,7 @@ unevaluatedProperties: false
>  examples:
>    - |
>      #include <dt-bindings/clock/qcom,rpmh.h>
> +    #include <dt-bindings/power/qcom-rpmpd.h>
>      clock-controller@100000 {
>        compatible = "qcom,glymur-gcc";
>        reg = <0x100000 0x1f9000>;
> @@ -113,6 +125,8 @@ examples:
>                 <&usb4_phy_0_pcie_pipe>, <&usb4_phy_0_max_pipe>,
>                 <&usb4_phy_1_pcie_pipe>, <&usb4_phy_1_max_pipe>,
>                 <&usb4_phy_2_pcie_pipe>, <&usb4_phy_2_max_pipe>;
> +      power-domains = <&rpmhpd RPMHPD_CX>;
> +      required-opps = <&rpmhpd_opp_nom>;
>        #clock-cells = <1>;
>        #reset-cells = <1>;
>        #power-domain-cells = <1>;
> 

-- 
Thanks,
Taniya Das


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-03-10  3:53 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-09 10:06 [PATCH 0/3] clk: qcom: gcc-glymur: Tie the CX power domain to controller Abel Vesa
2026-03-09 10:06 ` [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp Abel Vesa
2026-03-09 21:27   ` Dmitry Baryshkov
2026-03-10  3:53   ` Taniya Das
2026-03-09 10:06 ` [PATCH 2/3] clk: qcom: gcc-glymur: Enable runtime PM Abel Vesa
2026-03-09 21:29   ` Dmitry Baryshkov
2026-03-09 10:06 ` [PATCH 3/3] arm64: dts: qcom: glymur: Tie up the CX power domain to GCC Abel Vesa
2026-03-09 11:17   ` Konrad Dybcio
2026-03-09 12:09     ` Abel Vesa
2026-03-09 21:29   ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®