Message ID | 20221207014305.21018-1-lina@asahilina.net |
---|---|
State | Accepted |
Commit | 67327f125801f98aec9e2cf5e1df16cf493a065f |
Headers | show |
Series | arm64: dts: apple: t6002: Fix GPU power domains | expand |
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>
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 --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>; +};
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(+)