From: Jie Zhang <[email protected]>

[ Upstream commit c2cc1e60c1afff4f23c22561b57a5d5157dde20d ]

Update Adreno 623's dt-binding to remove smmu_clk which is not required
for this GMU.

Signed-off-by: Jie Zhang <[email protected]>
Signed-off-by: Akhil P Oommen <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Patchwork: https://patchwork.freedesktop.org/patch/672455/
Signed-off-by: Rob Clark <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---

LLM Generated explanations, may be completely bogus:

YES

- What it fixes
  - Corrects the GMU binding for Adreno 623 by removing an erroneous
    “SMMU vote clock” requirement. Adreno 623 does not need (and DTS
    does not provide) an `smmu_vote` clock, so the prior schema forced a
    mismatch and dtbs_check failures/warnings.
  - Aligns the binding with in-tree DTS for Adreno 623 (e.g., QCS8300),
    which defines only GMU, CX, AXI, MEMNOC, AHB, and HUB clocks.

- Specific code changes
  - Adds a dedicated schema branch for `qcom,adreno-gmu-623.0` with
    explicit registers and six clocks, notably without an SMMU vote
    clock:
    - Introduces the 623-specific conditional:
      Documentation/devicetree/bindings/display/msm/gmu.yaml:121
    - 623 clocks list (no smmu_vote):
      Documentation/devicetree/bindings/display/msm/gmu.yaml:139
    - 623 clock-names: `gmu`, `cxo`, `axi`, `memnoc`, `ahb`, `hub`:
      Documentation/devicetree/bindings/display/msm/gmu.yaml:147
  - Keeps SMMU vote clock only for other variants (635/660/663):
    - Block for 635/660/663 explicitly lists “GPU SMMU vote clock” and
      `smmu_vote`:
      Documentation/devicetree/bindings/display/msm/gmu.yaml:176 and
      Documentation/devicetree/bindings/display/msm/gmu.yaml:185
  - This separation removes the incorrect inheritance of `smmu_vote` by
    623 which previously happened when 623 was grouped with 635/660/663.

- Evidence DTS already matches this (demonstrating the prior schema was
  wrong)
  - QCS8300 GMU node uses six clocks (no `smmu_vote`): `gmu`, `cxo`,
    `axi`, `memnoc`, `ahb`, `hub`:
    arch/arm64/boot/dts/qcom/qcs8300.dtsi:4366

- Stable backport assessment
  - Bug relevance: Yes — fixes dt-binding schema forcing an invalid
    clock requirement, leading to dtbs_check issues for users building
    DTs for Adreno 623 platforms.
  - Size/scope: Small, contained to a single YAML schema file; no
    driver/runtime changes.
  - Risk/regression: Minimal. It only relaxes a wrong requirement for
    623. Out-of-tree DTS that mistakenly provided `smmu_vote` for 623
    would fail schema validation after this (those DTS are incorrect),
    but kernel functionality is unaffected.
  - No architectural churn, no features, and no cross-subsystem impact.

Given it corrects a real schema bug affecting validation of in-tree DTS
for Adreno 623, is small and low risk, and doesn’t alter runtime
behavior, this is a good candidate for stable backport.

 .../devicetree/bindings/display/msm/gmu.yaml  | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/gmu.yaml 
b/Documentation/devicetree/bindings/display/msm/gmu.yaml
index 4392aa7a4ffe2..afc1879357440 100644
--- a/Documentation/devicetree/bindings/display/msm/gmu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gmu.yaml
@@ -124,6 +124,40 @@ allOf:
           contains:
             enum:
               - qcom,adreno-gmu-623.0
+    then:
+      properties:
+        reg:
+          items:
+            - description: Core GMU registers
+            - description: Resource controller registers
+            - description: GMU PDC registers
+        reg-names:
+          items:
+            - const: gmu
+            - const: rscc
+            - const: gmu_pdc
+        clocks:
+          items:
+            - description: GMU clock
+            - description: GPU CX clock
+            - description: GPU AXI clock
+            - description: GPU MEMNOC clock
+            - description: GPU AHB clock
+            - description: GPU HUB CX clock
+        clock-names:
+          items:
+            - const: gmu
+            - const: cxo
+            - const: axi
+            - const: memnoc
+            - const: ahb
+            - const: hub
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
               - qcom,adreno-gmu-635.0
               - qcom,adreno-gmu-660.1
               - qcom,adreno-gmu-663.0
-- 
2.51.0

Reply via email to