diff mbox series

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

Message ID 20221207014305.21018-1-lina@asahilina.net
State Accepted
Commit 67327f125801f98aec9e2cf5e1df16cf493a065f
Headers show
Series arm64: dts: apple: t6002: Fix GPU power domains | expand

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:41 a.m. UTC | #1
On 2022-12-07 10:43:05 +0900, Asahi Lina wrote:
> It looks like the search-and-replace that happened to add die IDs to
> the t600x PMGR tree was a little bit too eager on a comment, and nobody
> noticed! Let's fix that.
> 
> Fixes: fa86294eb355 ("arm64: dts: apple: Add initial t6000/t6001/t6002 DTs")
> Signed-off-by: Asahi Lina <lina@asahilina.net>
> ---
>  arch/arm64/boot/dts/apple/t600x-pmgr.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/apple/t600x-pmgr.dtsi b/arch/arm64/boot/dts/apple/t600x-pmgr.dtsi
> index b8daeb0368d5..0bd44753b76a 100644
> --- a/arch/arm64/boot/dts/apple/t600x-pmgr.dtsi
> +++ b/arch/arm64/boot/dts/apple/t600x-pmgr.dtsi
> @@ -225,7 +225,7 @@ DIE_NODE(ps_afr): power-controller@1e8 {
>  		#power-domain-cells = <0>;
>  		#reset-cells = <0>;
>  		label = DIE_LABEL(afr);
> -		/* Apple Fabric, media DIE_NODE(stuff): this can power down */
> +		/* Apple Fabric, media stuff: this can power down */
>  	};
>  
>  	DIE_NODE(ps_afnc1_ioa): power-controller@1f0 {

thanks

Reviewed-by: Janne Grunau <j@jannau.net>
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
diff mbox series

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>;
+};