lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250728-topic-gpucc_power_plumbing-v1-4-09c2480fe3e6@oss.qualcomm.com>
Date: Mon, 28 Jul 2025 18:16:04 +0200
From: Konrad Dybcio <konradybcio@...nel.org>
To: Ulf Hansson <ulf.hansson@...aro.org>, 
 Johan Hovold <johan+linaro@...nel.org>, 
 Bjorn Andersson <andersson@...nel.org>, 
 Taniya Das <taniya.das@....qualcomm.com>, 
 Michael Turquette <mturquette@...libre.com>, 
 Stephen Boyd <sboyd@...nel.org>, Rob Herring <robh@...nel.org>, 
 Krzysztof Kozlowski <krzk+dt@...nel.org>, 
 Conor Dooley <conor+dt@...nel.org>, Taniya Das <quic_tdas@...cinc.com>, 
 Imran Shaik <quic_imrashai@...cinc.com>, 
 Konrad Dybcio <konradybcio@...nel.org>, 
 Bartosz Golaszewski <bartosz.golaszewski@...aro.org>, 
 Dmitry Baryshkov <lumag@...nel.org>, cros-qcom-dts-watchers@...omium.org, 
 Douglas Anderson <dianders@...omium.org>, Vinod Koul <vkoul@...nel.org>, 
 Richard Acayan <mailingradian@...il.com>, 
 Andy Gross <andy.gross@...aro.org>, Ajit Pandey <quic_ajipan@...cinc.com>, 
 Luca Weiss <luca.weiss@...rphone.com>, Jonathan Marek <jonathan@...ek.ca>, 
 Neil Armstrong <neil.armstrong@...aro.org>, 
 Jagadeesh Kona <quic_jkona@...cinc.com>, 
 Akhil P Oommen <akhilpo@....qualcomm.com>
Cc: Marijn Suijten <marijn.suijten@...ainline.org>, 
 linux-arm-msm@...r.kernel.org, linux-pm@...r.kernel.org, 
 linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org, 
 devicetree@...r.kernel.org, 
 Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>, 
 Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: [PATCH RFC 04/24] dt-bindings: clock: qcom,gpucc: Describe actual
 power domain plumbing

From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>

GPU_CC is always powered from the VDD_CX rail.

On platforms with a split MX rail (MX_A/C for ALWAYS/COLLAPSIBLE), both
are required. Otherwise, the common MX rail powers part of the logic,
including the PLLs.

Extend the current requirements to make sure the hardware is powered
adequately and the votes are released when no longer necessary.

Skiping "Fixes" as it would apply to NUM_PLATFORMS commits..

Signed-off-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
---
 .../devicetree/bindings/clock/qcom,gpucc.yaml      | 68 +++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml b/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
index 5053d71f918bb28c504746f68e782ca719051f63..1a6f8889db35296b59973c90b8133abfed75baaf 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
@@ -72,7 +72,10 @@ properties:
       - const: gcc_gpu_gpll0_div_clk_src
 
   power-domains:
-    maxItems: 1
+    description:
+      Power domains required for the clock controller to operate
+    minItems: 2
+    maxItems: 4
 
   vdd-gfx-supply:
     description: Regulator supply for the VDD_GFX pads
@@ -80,6 +83,7 @@ properties:
 required:
   - compatible
   - clocks
+  - power-domains
   - '#power-domain-cells'
 
 # Require that power-domains and vdd-gfx-supply are not both present
@@ -91,6 +95,62 @@ not:
 allOf:
   - $ref: qcom,gcc.yaml#
 
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,qcs8300-gpucc
+            - qcom,sa8775p-gpucc
+            - qcom,sar2130p-gpucc
+            - qcom,sc8280xp-gpucc
+            - qcom,sm8350-gpucc
+            - qcom,sm8450-gpucc
+            - qcom,sm8475-gpucc
+            - qcom,sm8550-gpucc
+            - qcom,sm8650-gpucc
+            - qcom,x1e80100-gpucc
+            - qcom,x1p42100-gpucc
+    then:
+      properties:
+        power-domains:
+          items:
+            - description: CX power domain
+            - description: MX power domain
+            - description: GFX power domain
+            - description: MX_COLLAPSIBLE power domain
+
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,milos-gpucc
+            - qcom,sc7180-gpucc
+            - qcom,sc7280-gpucc
+            - qcom,sc8180x-gpucc
+            - qcom,sdm845-gpucc
+            - qcom,sm8150-gpucc
+            - qcom,sm8250-gpucc
+    then:
+      properties:
+        power-domains:
+          items:
+            - description: CX power domain
+            - description: MX power domain
+            - description: GFX power domain
+
+  - if:
+      properties:
+        compatible:
+          enum:
+            - qcom,sm4450-gpucc
+            - qcom,sm6350-gpucc
+    then:
+      properties:
+        power-domains:
+          items:
+            - description: CX power domain
+            - description: MX power domain
+
   - if:
       properties:
         compatible:
@@ -116,6 +176,8 @@ examples:
   - |
     #include <dt-bindings/clock/qcom,gcc-sdm845.h>
     #include <dt-bindings/clock/qcom,rpmh.h>
+    #include <dt-bindings/power/qcom-rpmpd.h>
+
     clock-controller@...0000 {
       compatible = "qcom,sdm845-gpucc";
       reg = <0x05090000 0x9000>;
@@ -128,5 +190,9 @@ examples:
       #clock-cells = <1>;
       #reset-cells = <1>;
       #power-domain-cells = <1>;
+
+      power-domains = <&rpmhpd SDM845_CX>,
+                      <&rpmhpd SDM845_MX>,
+                      <&rpmhpd SDM845_GFX>;
     };
 ...

-- 
2.50.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ