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
