Re: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2024-07-02 at 20:28 +0100, Vitor Soares wrote:
> On Mon, 2024-07-01 at 23:59 +0000, Peng Fan wrote:
> > > Subject: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain
> > > parents
> > > 
> > > From: Vitor Soares <vitor.soares@xxxxxxxxxxx>
> > > 
> > > On iMX8M Plus QuadLite (VPU-less SoC), the dependency between
> > > VPU power domains lead to a deferred probe error during boot:
> > > [   17.140195] imx-pgc imx-pgc-domain.8: failed to command PGC
> > > [   17.147183] platform imx-pgc-domain.11: deferred probe pending:
> > > (reason unknown)
> > > [   17.147200] platform imx-pgc-domain.12: deferred probe pending:
> > > (reason unknown)
> > > [   17.147207] platform imx-pgc-domain.13: deferred probe pending:
> > > (reason unknown)
> > > 
> > > This is incorrect and should be the VPU blk-ctrl controlling these power
> > > domains, which is already doing it.
> > > 
> > > After removing the `power-domain` property from the VPU PGC nodes,
> > > both iMX8M Plus w/ and w/out VPU boot correctly. However, it breaks
> > > the suspend/resume functionality. A fix for this is pending, see Links.
> > > 
> > > Cc: <stable@xxxxxxxxxxxxxxx>
> > > Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes")
> > > Link:
> > > Suggested-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> > > Signed-off-by: Vitor Soares <vitor.soares@xxxxxxxxxxx>
> > 
> > For VPU-Less 8MP, all the VPU PGC nodes should be dropped,
> > right?
> 
> They don't need to be dropped. Taking the iMX8MM Lite variante as example (it
> also doesn't have VPU), the nodes are there and this issue is not present.
> 
> > 
> > Why not use bootloader to update the device tree based on fuse
> > settings?
> 
> While fixing VPU blk-ctrl suspend/resume functionality, I received feedback
> that
> this VPU GPC dependency is incorrect and is up to VPU blk-ctrl to control the
> GPC domains.

You find it here:
https://lore.kernel.org/all/fcd6acc268b8642371cf289149b2b1c3e90c7f45.camel@xxxxxxxxxxxxxx/


Regards,
Vitor Soares
> As we disable the VPU blk-ctrl node on the bootloader, removing the dependency
> solves the issue.
> 
> Regards,
> Vitor Soares
> > 
> > Regards,
> > Peng.
> > 
> > > ---
> > >  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 3 ---
> > >  1 file changed, 3 deletions(-)
> > > 
> > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > > b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > > index b92abb5a5c53..12548336b736 100644
> > > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > > @@ -882,21 +882,18 @@ pgc_vpumix: power-domain@19 {
> > > 
> > >                                         pgc_vpu_g1: power-
> > > domain@20 {
> > >                                                 #power-domain-
> > > cells = <0>;
> > > -                                               power-domains =
> > > <&pgc_vpumix>;
> > >                                                 reg =
> > > <IMX8MP_POWER_DOMAIN_VPU_G1>;
> > >                                                 clocks = <&clk
> > > IMX8MP_CLK_VPU_G1_ROOT>;
> > >                                         };
> > > 
> > >                                         pgc_vpu_g2: power-
> > > domain@21 {
> > >                                                 #power-domain-
> > > cells = <0>;
> > > -                                               power-domains =
> > > <&pgc_vpumix>;
> > >                                                 reg =
> > > <IMX8MP_POWER_DOMAIN_VPU_G2>;
> > >                                                 clocks = <&clk
> > > IMX8MP_CLK_VPU_G2_ROOT>;
> > >                                         };
> > > 
> > >                                         pgc_vpu_vc8000e: power-
> > > domain@22 {
> > >                                                 #power-domain-
> > > cells = <0>;
> > > -                                               power-domains =
> > > <&pgc_vpumix>;
> > >                                                 reg =
> > > <IMX8MP_POWER_DOMAIN_VPU_VC8000E>;
> > >                                                 clocks = <&clk
> > > IMX8MP_CLK_VPU_VC8KE_ROOT>;
> > >                                         };
> > > --
> > > 2.34.1
> > 
> 





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux