* [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents
@ 2024-07-01 12:43 Vitor Soares
2024-07-01 23:59 ` Peng Fan
0 siblings, 1 reply; 4+ messages in thread
From: Vitor Soares @ 2024-07-01 12:43 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Peng Fan,
Ulf Hansson
Cc: Vitor Soares, devicetree, imx, linux-arm-kernel, linux-kernel,
linux-pm, ivitro, stable, Lucas Stach
From: Vitor Soares <vitor.soares@toradex.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@vger.kernel.org>
Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes")
Link: https://lore.kernel.org/all/fcd6acc268b8642371cf289149b2b1c3e90c7f45.camel@pengutronix.de/
Link: https://lore.kernel.org/all/20240418155151.355133-1-ivitro@gmail.com/
Suggested-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
---
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents
2024-07-01 12:43 [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents Vitor Soares
@ 2024-07-01 23:59 ` Peng Fan
2024-07-02 19:28 ` Vitor Soares
0 siblings, 1 reply; 4+ messages in thread
From: Peng Fan @ 2024-07-01 23:59 UTC (permalink / raw)
To: Vitor Soares, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Ulf Hansson
Cc: Vitor Soares, devicetree@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
stable@vger.kernel.org, Lucas Stach
> Subject: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain
> parents
>
> From: Vitor Soares <vitor.soares@toradex.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@vger.kernel.org>
> Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes")
> Link:
> Suggested-by: Lucas Stach <l.stach@pengutronix.de>
> Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
For VPU-Less 8MP, all the VPU PGC nodes should be dropped,
right?
Why not use bootloader to update the device tree based on fuse
settings?
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents
2024-07-01 23:59 ` Peng Fan
@ 2024-07-02 19:28 ` Vitor Soares
2024-07-02 20:32 ` Vitor Soares
0 siblings, 1 reply; 4+ messages in thread
From: Vitor Soares @ 2024-07-02 19:28 UTC (permalink / raw)
To: Peng Fan, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Ulf Hansson
Cc: Vitor Soares, devicetree@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
stable@vger.kernel.org, Lucas Stach
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@toradex.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@vger.kernel.org>
> > Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes")
> > Link:
> > Suggested-by: Lucas Stach <l.stach@pengutronix.de>
> > Signed-off-by: Vitor Soares <vitor.soares@toradex.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
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents
2024-07-02 19:28 ` Vitor Soares
@ 2024-07-02 20:32 ` Vitor Soares
0 siblings, 0 replies; 4+ messages in thread
From: Vitor Soares @ 2024-07-02 20:32 UTC (permalink / raw)
To: Peng Fan, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Ulf Hansson
Cc: Vitor Soares, devicetree@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
stable@vger.kernel.org, Lucas Stach
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@toradex.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@vger.kernel.org>
> > > Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes")
> > > Link:
> > > Suggested-by: Lucas Stach <l.stach@pengutronix.de>
> > > Signed-off-by: Vitor Soares <vitor.soares@toradex.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.
You find it here:
https://lore.kernel.org/all/fcd6acc268b8642371cf289149b2b1c3e90c7f45.camel@pengutronix.de/
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
> >
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-07-02 20:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-01 12:43 [PATCH v1] arm64: dts: imx8mp: Fix VPU PGC power-domain parents Vitor Soares
2024-07-01 23:59 ` Peng Fan
2024-07-02 19:28 ` Vitor Soares
2024-07-02 20:32 ` Vitor Soares
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).