lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87e0dac344d927ca6e2655ce7f7433ff73da6b58.camel@gmail.com>
Date: Tue, 02 Jul 2024 20:28:33 +0100
From: Vitor Soares <ivitro@...il.com>
To: Peng Fan <peng.fan@....com>, Rob Herring <robh@...nel.org>, Krzysztof
 Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Shawn
 Guo <shawnguo@...nel.org>,  Sascha Hauer <s.hauer@...gutronix.de>,
 Pengutronix Kernel Team <kernel@...gutronix.de>, Fabio Estevam
 <festevam@...il.com>, Ulf Hansson <ulf.hansson@...aro.org>
Cc: Vitor Soares <vitor.soares@...adex.com>, "devicetree@...r.kernel.org"
 <devicetree@...r.kernel.org>, "imx@...ts.linux.dev" <imx@...ts.linux.dev>, 
 "linux-arm-kernel@...ts.infradead.org"
 <linux-arm-kernel@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
 <linux-kernel@...r.kernel.org>, "linux-pm@...r.kernel.org"
 <linux-pm@...r.kernel.org>, "stable@...r.kernel.org"
 <stable@...r.kernel.org>,  Lucas Stach <l.stach@...gutronix.de>
Subject: Re: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents

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@...adex.com>
> > 
> > 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@...r.kernel.org>
> > Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes")
> > Link:
> > Suggested-by: Lucas Stach <l.stach@...gutronix.de>
> > Signed-off-by: Vitor Soares <vitor.soares@...adex.com>
> 
> 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.
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
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ