[PATCH] arm64: dts: qcom: x1e80100: Add GFX power domain to GPU clock controller

Abel Vesa posted 1 patch 7 months, 4 weeks ago
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 1 +
1 file changed, 1 insertion(+)
[PATCH] arm64: dts: qcom: x1e80100: Add GFX power domain to GPU clock controller
Posted by Abel Vesa 7 months, 4 weeks ago
According to documentation, the VDD_GFX is powering up the whole GPU
subsystem. The VDD_GFX is routed through the RPMh GFX power domain.

So tie the RPMh GFX power domain to the GPU clock controller.

Cc: stable@vger.kernel.org # 6.11
Fixes: 721e38301b79 ("arm64: dts: qcom: x1e80100: Add gpu support")
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index 46b79fce92c90d969e3de48bc88e27915d1592bb..96d5ab3c426639b0c0af2458d127e3bbbe41c556 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -3873,6 +3873,7 @@ gpucc: clock-controller@3d90000 {
 			clocks = <&bi_tcxo_div2>,
 				 <&gcc GCC_GPU_GPLL0_CPH_CLK_SRC>,
 				 <&gcc GCC_GPU_GPLL0_DIV_CPH_CLK_SRC>;
+			power-domains = <&rpmhpd RPMHPD_GFX>;
 			#clock-cells = <1>;
 			#reset-cells = <1>;
 			#power-domain-cells = <1>;

---
base-commit: 2c9c612abeb38aab0e87d48496de6fd6daafb00b
change-id: 20250423-x1e80100-add-gpucc-gfx-pd-a51e3ff2d6e1

Best regards,
-- 
Abel Vesa <abel.vesa@linaro.org>
Re: [PATCH] arm64: dts: qcom: x1e80100: Add GFX power domain to GPU clock controller
Posted by Akhil P Oommen 7 months, 3 weeks ago
On 4/23/2025 6:28 PM, Abel Vesa wrote:
> According to documentation, the VDD_GFX is powering up the whole GPU
> subsystem. The VDD_GFX is routed through the RPMh GFX power domain.

No. Majority of the area in GPU Subsystem is under GX domain and the
rest are under various other power domains. IIRC, most of the gpucc
block is under always-on cx domain.

-Akhil.

> 
> So tie the RPMh GFX power domain to the GPU clock controller.
> 
> Cc: stable@vger.kernel.org # 6.11
> Fixes: 721e38301b79 ("arm64: dts: qcom: x1e80100: Add gpu support")
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/x1e80100.dtsi | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index 46b79fce92c90d969e3de48bc88e27915d1592bb..96d5ab3c426639b0c0af2458d127e3bbbe41c556 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -3873,6 +3873,7 @@ gpucc: clock-controller@3d90000 {
>  			clocks = <&bi_tcxo_div2>,
>  				 <&gcc GCC_GPU_GPLL0_CPH_CLK_SRC>,
>  				 <&gcc GCC_GPU_GPLL0_DIV_CPH_CLK_SRC>;
> +			power-domains = <&rpmhpd RPMHPD_GFX>;
>  			#clock-cells = <1>;
>  			#reset-cells = <1>;
>  			#power-domain-cells = <1>;
> 
> ---
> base-commit: 2c9c612abeb38aab0e87d48496de6fd6daafb00b
> change-id: 20250423-x1e80100-add-gpucc-gfx-pd-a51e3ff2d6e1
> 
> Best regards,
Re: [PATCH] arm64: dts: qcom: x1e80100: Add GFX power domain to GPU clock controller
Posted by Rob Herring (Arm) 7 months, 4 weeks ago
On Wed, 23 Apr 2025 15:58:52 +0300, Abel Vesa wrote:
> According to documentation, the VDD_GFX is powering up the whole GPU
> subsystem. The VDD_GFX is routed through the RPMh GFX power domain.
> 
> So tie the RPMh GFX power domain to the GPU clock controller.
> 
> Cc: stable@vger.kernel.org # 6.11
> Fixes: 721e38301b79 ("arm64: dts: qcom: x1e80100: Add gpu support")
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/x1e80100.dtsi | 1 +
>  1 file changed, 1 insertion(+)
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


This patch series was applied (using b4) to base:
 Base: using specified base-commit 2c9c612abeb38aab0e87d48496de6fd6daafb00b

If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)

New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250423-x1e80100-add-gpucc-gfx-pd-v1-1-677d97f61963@linaro.org:

arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1p42100-crd.dtb: clock-controller@3d90000 (qcom,x1p42100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e001de-devkit.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e80100-qcp.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus15.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e80100-crd.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dtb: clock-controller@3d90000 (qcom,x1e80100-gpucc): Unevaluated properties are not allowed ('power-domains' was unexpected)
	from schema $id: http://devicetree.org/schemas/clock/qcom,sm8450-gpucc.yaml#
Re: [PATCH] arm64: dts: qcom: x1e80100: Add GFX power domain to GPU clock controller
Posted by Konrad Dybcio 7 months, 4 weeks ago
On 4/23/25 2:58 PM, Abel Vesa wrote:
> According to documentation, the VDD_GFX is powering up the whole GPU
> subsystem. The VDD_GFX is routed through the RPMh GFX power domain.
> 
> So tie the RPMh GFX power domain to the GPU clock controller.
> 
> Cc: stable@vger.kernel.org # 6.11
> Fixes: 721e38301b79 ("arm64: dts: qcom: x1e80100: Add gpu support")
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> ---

You shouldn't be messing with VDD_GFX on platforms with a GMU.

Parts of the clock controller are backed by one of the MX rails,
with some logic depending on CX/GFX, but handling of the latter is
fully deferred to the GMU firmware.

Konrad