arm64: dts: apple: t6002: Fix GPU power domains

Message ID 20221207014305.21018-1-lina@asahilina.net
State New
Headers
Series arm64: dts: apple: t6002: Fix GPU power domains |

Commit Message

Asahi Lina Dec. 7, 2022, 1:43 a.m. UTC
  On t6002 (M1 Ultra), each die contains a self-contained GPU block.
However, only the coprocessor and global management circuitry of the
first die are used. This is what is represented by the "gpu" PS (the
one in die1 is disabled). Nonetheless, this shared component drives the
processing blocks in both dies, and therefore depends on the AFR fabric
being powered up on both dies.

Add an explicit dependency from the GPU block on die0 to AFR on die1,
next to the existing die0 AFR dependency.

Fixes: fa86294eb355 ("arm64: dts: apple: Add initial t6000/t6001/t6002 DTs")
Signed-off-by: Asahi Lina <lina@asahilina.net>
---
 arch/arm64/boot/dts/apple/t6002.dtsi | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Janne Grunau Dec. 7, 2022, 6:40 a.m. UTC | #1
On 2022-12-07 10:43:04 +0900, Asahi Lina wrote:
> On t6002 (M1 Ultra), each die contains a self-contained GPU block.
> However, only the coprocessor and global management circuitry of the
> first die are used. This is what is represented by the "gpu" PS (the
> one in die1 is disabled). Nonetheless, this shared component drives the
> processing blocks in both dies, and therefore depends on the AFR fabric
> being powered up on both dies.
> 
> Add an explicit dependency from the GPU block on die0 to AFR on die1,
> next to the existing die0 AFR dependency.
> 
> Fixes: fa86294eb355 ("arm64: dts: apple: Add initial t6000/t6001/t6002 DTs")
> Signed-off-by: Asahi Lina <lina@asahilina.net>
> ---
>  arch/arm64/boot/dts/apple/t6002.dtsi | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/apple/t6002.dtsi b/arch/arm64/boot/dts/apple/t6002.dtsi
> index 1376103b49c6..8fa2d8dd72ff 100644
> --- a/arch/arm64/boot/dts/apple/t6002.dtsi
> +++ b/arch/arm64/boot/dts/apple/t6002.dtsi
> @@ -296,3 +296,8 @@ &cpu_p20 &cpu_p21 &cpu_p22 &cpu_p23
>  		};
>  	};
>  };
> +
> +&ps_gfx {
> +	// On t6002, the die0 GPU power domain needs both AFR power domains
> +	power-domains = <&ps_afr>, <&ps_afr_die1>;
> +};

Reviewded-By: Janne Grunau <j@jannau.net>

Janne
  
Hector Martin Dec. 8, 2022, 5:38 a.m. UTC | #2
On 07/12/2022 10.43, Asahi Lina wrote:
> On t6002 (M1 Ultra), each die contains a self-contained GPU block.
> However, only the coprocessor and global management circuitry of the
> first die are used. This is what is represented by the "gpu" PS (the
> one in die1 is disabled). Nonetheless, this shared component drives the
> processing blocks in both dies, and therefore depends on the AFR fabric
> being powered up on both dies.
> 
> Add an explicit dependency from the GPU block on die0 to AFR on die1,
> next to the existing die0 AFR dependency.
> 
> Fixes: fa86294eb355 ("arm64: dts: apple: Add initial t6000/t6001/t6002 DTs")
> Signed-off-by: Asahi Lina <lina@asahilina.net>
> ---
>  arch/arm64/boot/dts/apple/t6002.dtsi | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/apple/t6002.dtsi b/arch/arm64/boot/dts/apple/t6002.dtsi
> index 1376103b49c6..8fa2d8dd72ff 100644
> --- a/arch/arm64/boot/dts/apple/t6002.dtsi
> +++ b/arch/arm64/boot/dts/apple/t6002.dtsi
> @@ -296,3 +296,8 @@ &cpu_p20 &cpu_p21 &cpu_p22 &cpu_p23
>  		};
>  	};
>  };
> +
> +&ps_gfx {
> +	// On t6002, the die0 GPU power domain needs both AFR power domains
> +	power-domains = <&ps_afr>, <&ps_afr_die1>;
> +};

Thanks, applied both patches to asahi-soc/dt!

- Hector
  

Patch

diff --git a/arch/arm64/boot/dts/apple/t6002.dtsi b/arch/arm64/boot/dts/apple/t6002.dtsi
index 1376103b49c6..8fa2d8dd72ff 100644
--- a/arch/arm64/boot/dts/apple/t6002.dtsi
+++ b/arch/arm64/boot/dts/apple/t6002.dtsi
@@ -296,3 +296,8 @@  &cpu_p20 &cpu_p21 &cpu_p22 &cpu_p23
 		};
 	};
 };
+
+&ps_gfx {
+	// On t6002, the die0 GPU power domain needs both AFR power domains
+	power-domains = <&ps_afr>, <&ps_afr_die1>;
+};