mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v5 00/42] clk: qcom: Tie CX power domains to GCCs
@ 2026-09-24 10:39 Abel Vesa
  2026-09-24 10:39 ` [PATCH v5 01/42] dt-bindings: clock: qcom: gcc-sdm845: Require CX power domain Abel Vesa
                   ` (42 more replies)
  0 siblings, 43 replies; 46+ messages in thread
From: Abel Vesa @ 2026-09-24 10:39 UTC (permalink / raw)
  To: Bjorn Andersson, Abel Vesa, Stephen Boyd, Brian Masney,
	Jerome Brunet, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Taniya Das, Vinod Koul, Jingyi Wang, Ajit Pandey, Konrad Dybcio,
	Imran Shaik, Konrad Dybcio, Dmitry Baryshkov, Tengfei Fan,
	Abel Vesa
  Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel,
	Krzysztof Kozlowski, Krzysztof Kozlowski

Tie the CX power domain to GCC clock controllers for SDM670,
SM8150, SM8250, SM8350, SM8450, SM8550, SM8650, SM8750, SM6350,
SM4450, QCS8300, SDX75, SAR2130P, SC7180, SC7280, SA8775P,
X1E80100, Eliza, Kaanapali, and QCS615.

Enable runtime PM for GCC providers without critical clocks, allowing CX to
power down when their consumers release clocks and GDSCs.

On SDM845, the DT already describes the CX as power domain for GCC,
only the driver needs runtime PM enabling.

Update the GCC bindings to document and require the CX power-domain
dependency for the affected compatibles.

Only Kaanapali and Eliza require Fixes tags, as runtime PM support was not
available when the other platforms were upstreamed.

---
Changes in v5:
- Rebased on next-20260922.
- Drop QDU1000: its CX rail is always at NOMINAL and does not follow
  the regular PMIC control.
- Require the CX power domain at the binding top level for SDM670 and
  SDM845.
- Pick up Krzysztof's R-b tags for the DT bindings and Taniya's R-b
  tag for SC7280 GCC.
- Drop runtime PM enablement for providers with critical clocks, which keep
  the controller active.
- Link to v4: https://patch.msgid.link/20260914-qcom-tie-cx-to-gcc-v4-0-9d5a606ada33@oss.qualcomm.com

Changes in v4:
- Rebased on next-20260911.
- Add missing CX power-domain bindings for QCS8300, QDU1000, SDX75, SM4450, and SM6350.
- Address Krzysztof's binding review by documenting the CX power-domain item.
- Explain why the new required property is needed to prevent CX undervolting.
- Include the direct RPMh power-domain header in binding examples.
- Link to v3: https://patch.msgid.link/20260824-qcom-tie-cx-to-gcc-v3-0-f1205a92682b@oss.qualcomm.com

Changes in v2:
- Clarify the runtime PM rationale in the GCC driver commit messages.
- Picked up Konrad's R-b tag for the dts patches.
- Link to v1: https://patch.msgid.link/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com

To: Bjorn Andersson <andersson@kernel.org>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney+clk@redhat.com>
To: Jerome Brunet <jbrunet+clk@baylibre.com>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Taniya Das <taniya.das@oss.qualcomm.com>
To: Vinod Koul <vkoul@kernel.org>
To: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
To: Abel Vesa <abel.vesa@oss.qualcomm.com>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Tengfei Fan <tengfei.fan@oss.qualcomm.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Krzysztof Kozlowski <krzk@kernel.org>

---
Abel Vesa (42):
      dt-bindings: clock: qcom: gcc-sdm845: Require CX power domain
      dt-bindings: clock: qcom: gcc-sm8150: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm8250: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm8350: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm8450: Add CX power domain
      dt-bindings: clock: qcom: qcs615-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm8550-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm8650-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm8750-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm4450-gcc: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm6350: Add CX power domain
      dt-bindings: clock: qcom: qcs8300-gcc: Add CX power domain
      dt-bindings: clock: qcom: sdx75-gcc: Add CX power domain
      clk: qcom: gcc-eliza: Tie the CX power domain to controller
      clk: qcom: gcc-kaanapali: Tie the CX power domain to controller
      clk: qcom: gcc-qcs8300: Tie the CX power domain to controller
      clk: qcom: gcc-sa8775p: Tie the CX power domain to controller
      clk: qcom: gcc-sar2130p: Tie the CX power domain to controller
      clk: qcom: gcc-sc7280: Tie the CX power domain to controller
      clk: qcom: gcc-sdx75: Tie the CX power domain to controller
      clk: qcom: gcc-sm4450: Tie the CX power domain to controller
      clk: qcom: gcc-sm8350: Tie the CX power domain to controller
      clk: qcom: gcc-sm8450: Tie the CX power domain to controller
      clk: qcom: gcc-sm8550: Tie the CX power domain to controller
      clk: qcom: gcc-sm8650: Tie the CX power domain to controller
      clk: qcom: gcc-sm8750: Tie the CX power domain to controller
      clk: qcom: gcc-x1e80100: Tie the CX power domain to controller
      arm64: dts: qcom: kaanapali: Add GCC CX power domain
      arm64: dts: qcom: monaco: Add GCC CX power domain
      arm64: dts: qcom: sar2130p: Add GCC CX power domain
      arm64: dts: qcom: sdm670: Add GCC CX power domain
      arm64: dts: qcom: sdx75: Add GCC CX power domain
      arm64: dts: qcom: sm4450: Add GCC CX power domain
      arm64: dts: qcom: sm6350: Add GCC CX power domain
      arm64: dts: qcom: sm8150: Add GCC CX power domain
      arm64: dts: qcom: sm8250: Add GCC CX power domain
      arm64: dts: qcom: sm8350: Add GCC CX power domain
      arm64: dts: qcom: sm8450: Add GCC CX power domain
      arm64: dts: qcom: sm8550: Add GCC CX power domain
      arm64: dts: qcom: sm8650: Add GCC CX power domain
      arm64: dts: qcom: sm8750: Add GCC CX power domain
      arm64: dts: qcom: talos: Add GCC CX power domain

 Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml  | 6 +++++-
 Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,qcs615-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,qcs8300-gcc.yaml | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml   | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm8750-gcc.yaml  | 7 +++++++
 arch/arm64/boot/dts/qcom/kaanapali.dtsi                       | 2 ++
 arch/arm64/boot/dts/qcom/monaco.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sar2130p.dtsi                        | 1 +
 arch/arm64/boot/dts/qcom/sdm670.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sdx75.dtsi                           | 1 +
 arch/arm64/boot/dts/qcom/sm4450.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm6350.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8150.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8250.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8350.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8450.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8550.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8650.dtsi                          | 2 ++
 arch/arm64/boot/dts/qcom/sm8750.dtsi                          | 2 ++
 arch/arm64/boot/dts/qcom/talos.dtsi                           | 2 ++
 drivers/clk/qcom/gcc-eliza.c                                  | 1 +
 drivers/clk/qcom/gcc-kaanapali.c                              | 1 +
 drivers/clk/qcom/gcc-qcs8300.c                                | 1 +
 drivers/clk/qcom/gcc-sa8775p.c                                | 1 +
 drivers/clk/qcom/gcc-sar2130p.c                               | 1 +
 drivers/clk/qcom/gcc-sc7280.c                                 | 1 +
 drivers/clk/qcom/gcc-sdx75.c                                  | 1 +
 drivers/clk/qcom/gcc-sm4450.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8350.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8450.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8550.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8650.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8750.c                                 | 1 +
 drivers/clk/qcom/gcc-x1e80100.c                               | 1 +
 42 files changed, 122 insertions(+), 1 deletion(-)
---
base-commit: a8c591ed6b672915e0be57843f943a2a723aff40
change-id: 20260819-qcom-tie-cx-to-gcc-67e6697639b5

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


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

end of thread, other threads:[~2026-10-01  0:40 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-24 10:39 [PATCH v5 00/42] clk: qcom: Tie CX power domains to GCCs Abel Vesa
2026-09-24 10:39 ` [PATCH v5 01/42] dt-bindings: clock: qcom: gcc-sdm845: Require CX power domain Abel Vesa
2026-09-24 10:39 ` [PATCH v5 02/42] dt-bindings: clock: qcom: gcc-sm8150: Add " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 03/42] dt-bindings: clock: qcom: gcc-sm8250: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 04/42] dt-bindings: clock: qcom: gcc-sm8350: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 05/42] dt-bindings: clock: qcom: gcc-sm8450: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 06/42] dt-bindings: clock: qcom: qcs615-gcc: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 07/42] dt-bindings: clock: qcom: sm8550-gcc: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 08/42] dt-bindings: clock: qcom: sm8650-gcc: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 09/42] dt-bindings: clock: qcom: sm8750-gcc: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 10/42] dt-bindings: clock: qcom: sm4450-gcc: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 11/42] dt-bindings: clock: qcom: gcc-sm6350: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 12/42] dt-bindings: clock: qcom: qcs8300-gcc: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 13/42] dt-bindings: clock: qcom: sdx75-gcc: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 14/42] clk: qcom: gcc-eliza: Tie the CX power domain to controller Abel Vesa
2026-09-24 10:39 ` [PATCH v5 15/42] clk: qcom: gcc-kaanapali: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 16/42] clk: qcom: gcc-qcs8300: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 17/42] clk: qcom: gcc-sa8775p: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 18/42] clk: qcom: gcc-sar2130p: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 19/42] clk: qcom: gcc-sc7280: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 20/42] clk: qcom: gcc-sdx75: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 21/42] clk: qcom: gcc-sm4450: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 22/42] clk: qcom: gcc-sm8350: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 23/42] clk: qcom: gcc-sm8450: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 24/42] clk: qcom: gcc-sm8550: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 25/42] clk: qcom: gcc-sm8650: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 26/42] clk: qcom: gcc-sm8750: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 27/42] clk: qcom: gcc-x1e80100: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 28/42] arm64: dts: qcom: kaanapali: Add GCC CX power domain Abel Vesa
2026-09-24 10:39 ` [PATCH v5 29/42] arm64: dts: qcom: monaco: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 30/42] arm64: dts: qcom: sar2130p: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 31/42] arm64: dts: qcom: sdm670: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 32/42] arm64: dts: qcom: sdx75: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 33/42] arm64: dts: qcom: sm4450: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 34/42] arm64: dts: qcom: sm6350: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 35/42] arm64: dts: qcom: sm8150: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 36/42] arm64: dts: qcom: sm8250: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 37/42] arm64: dts: qcom: sm8350: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 38/42] arm64: dts: qcom: sm8450: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 39/42] arm64: dts: qcom: sm8550: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 40/42] arm64: dts: qcom: sm8650: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 41/42] arm64: dts: qcom: sm8750: " Abel Vesa
2026-09-24 10:39 ` [PATCH v5 42/42] arm64: dts: qcom: talos: " Abel Vesa
2026-09-25 16:43 ` (subset) [PATCH v5 00/42] clk: qcom: Tie CX power domains to GCCs Bjorn Andersson
2026-09-29 21:50   ` Rob Herring
2026-10-01  0:40     ` Bjorn Andersson

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®