* iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on()
@ 2024-04-04 15:53 vitor
2024-04-05 15:06 ` vitor
0 siblings, 1 reply; 5+ messages in thread
From: vitor @ 2024-04-04 15:53 UTC (permalink / raw)
To: linux-pm, imx, linux-arm-kernel, linux-kernel
Cc: ivitro, vitor.soares, ulf.hansson, shawnguo, s.hauer, kernel,
festevam, rafael, geert+renesas, peng.fan, linus.walleij,
u.kleine-koenig, marex
Greetings,
I'm trying to suspend/resume our Verdin iMX8M Mini with VPU IP using
the latest 6.9.0-rc2 Kernel. While the system can suspend without
issues, it hangs on the resume routine. After some investigation, I can
see the Kernel hanging on imx8m_blk_ctrl_power_on()[1] while resuming
the hantro-vpu power domain.
Any hint about that?
[1]https://elixir.bootlin.com/linux/v6.9-rc2/source/drivers/pmdomain/imx/imx8m-blk-ctrl.c#L101
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on()
2024-04-04 15:53 iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on() vitor
@ 2024-04-05 15:06 ` vitor
2024-05-08 17:30 ` Adam Ford
0 siblings, 1 reply; 5+ messages in thread
From: vitor @ 2024-04-05 15:06 UTC (permalink / raw)
To: linux-pm, imx, linux-arm-kernel, linux-kernel
Cc: vitor.soares, ulf.hansson, shawnguo, s.hauer, kernel, festevam,
rafael, geert+renesas, peng.fan, linus.walleij, u.kleine-koenig,
marex
Hi,
On Thu, 2024-04-04 at 16:53 +0100, vitor wrote:
> Greetings,
>
> I'm trying to suspend/resume our Verdin iMX8M Mini with VPU IP using
> the latest 6.9.0-rc2 Kernel. While the system can suspend without
> issues, it hangs on the resume routine. After some investigation, I
> can
> see the Kernel hanging on imx8m_blk_ctrl_power_on()[1] while resuming
> the hantro-vpu power domain.
>
> Any hint about that?
>
> [1]
> https://elixir.bootlin.com/linux/v6.9-rc2/source/drivers/pmdomain/imx
> /imx8m-blk-ctrl.c#L101
>
Looking at other child nodes of the pgc node, pgc_vpu_[g1|g2|h1] seems
to be nested into pgc_vpumix.
After applying the following changes to imx8mm.dtsi, the suspend/resume
is working.
@@ -739,16 +739,19 @@ pgc_vpumix: power-domain@6 {
pgc_vpu_g1: power-domain@7 {
#power-domain-cells = <0>;
reg = <IMX8MM_POWER_DOMAIN_VPUG1>;
+ power-domains = <&pgc_vpumix>;
};
pgc_vpu_g2: power-domain@8 {
#power-domain-cells = <0>;
reg = <IMX8MM_POWER_DOMAIN_VPUG2>;
+ power-domains = <&pgc_vpumix>;
};
pgc_vpu_h1: power-domain@9 {
#power-domain-cells = <0>;
reg = <IMX8MM_POWER_DOMAIN_VPUH1>;
+ power-domains = <&pgc_vpumix>;
};
I will prepare the patch to send in the next couple of days.
Regards,
Vitor Soares
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on()
2024-04-05 15:06 ` vitor
@ 2024-05-08 17:30 ` Adam Ford
2024-05-08 17:45 ` Lucas Stach
0 siblings, 1 reply; 5+ messages in thread
From: Adam Ford @ 2024-05-08 17:30 UTC (permalink / raw)
To: vitor
Cc: linux-pm, imx, linux-arm-kernel, linux-kernel, vitor.soares,
ulf.hansson, shawnguo, s.hauer, kernel, festevam, rafael,
geert+renesas, peng.fan, linus.walleij, u.kleine-koenig, marex,
Lucas Stach
On Fri, Apr 5, 2024 at 10:09 AM vitor <ivitro@gmail.com> wrote:
>
> Hi,
>
> On Thu, 2024-04-04 at 16:53 +0100, vitor wrote:
> > Greetings,
> >
> > I'm trying to suspend/resume our Verdin iMX8M Mini with VPU IP using
> > the latest 6.9.0-rc2 Kernel. While the system can suspend without
> > issues, it hangs on the resume routine. After some investigation, I
> > can
> > see the Kernel hanging on imx8m_blk_ctrl_power_on()[1] while resuming
> > the hantro-vpu power domain.
> >
> > Any hint about that?
> >
> > [1]
> > https://elixir.bootlin.com/linux/v6.9-rc2/source/drivers/pmdomain/imx
> > /imx8m-blk-ctrl.c#L101
> >
>
+ Lucas
> Looking at other child nodes of the pgc node, pgc_vpu_[g1|g2|h1] seems
> to be nested into pgc_vpumix.
>
On the surface, that's how it appears and it would be consistent with
how the GPU's work with the GPC's for each GPU calling the gpumix.
However, the VPU's all reference the vpu_blk_ctrl which itself
references the vpumix.
Lucas,
You seem to know this driver pretty well. Do you expect the G1, G2,
and H1 PGC's to all reference the vpumix, or do you expect the
vpu_blk_ctrl to enable/disable the vpumix?
> After applying the following changes to imx8mm.dtsi, the suspend/resume
> is working.
>
>
> @@ -739,16 +739,19 @@ pgc_vpumix: power-domain@6 {
> pgc_vpu_g1: power-domain@7 {
> #power-domain-cells = <0>;
> reg = <IMX8MM_POWER_DOMAIN_VPUG1>;
> + power-domains = <&pgc_vpumix>;
> };
>
> pgc_vpu_g2: power-domain@8 {
> #power-domain-cells = <0>;
> reg = <IMX8MM_POWER_DOMAIN_VPUG2>;
> + power-domains = <&pgc_vpumix>;
> };
>
> pgc_vpu_h1: power-domain@9 {
> #power-domain-cells = <0>;
> reg = <IMX8MM_POWER_DOMAIN_VPUH1>;
> + power-domains = <&pgc_vpumix>;
> };
>
>
> I will prepare the patch to send in the next couple of days.
Please CC me when post the patch, and I can run some tests on my hardware.
thanks
adam
>
> Regards,
> Vitor Soares
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on()
2024-05-08 17:30 ` Adam Ford
@ 2024-05-08 17:45 ` Lucas Stach
2024-05-08 17:47 ` Adam Ford
0 siblings, 1 reply; 5+ messages in thread
From: Lucas Stach @ 2024-05-08 17:45 UTC (permalink / raw)
To: Adam Ford, vitor
Cc: linux-pm, imx, linux-arm-kernel, linux-kernel, vitor.soares,
ulf.hansson, shawnguo, s.hauer, kernel, festevam, rafael,
geert+renesas, peng.fan, linus.walleij, u.kleine-koenig, marex
Hi Adam,
Am Mittwoch, dem 08.05.2024 um 12:30 -0500 schrieb Adam Ford:
> On Fri, Apr 5, 2024 at 10:09 AM vitor <ivitro@gmail.com> wrote:
> >
> > Hi,
> >
> > On Thu, 2024-04-04 at 16:53 +0100, vitor wrote:
> > > Greetings,
> > >
> > > I'm trying to suspend/resume our Verdin iMX8M Mini with VPU IP using
> > > the latest 6.9.0-rc2 Kernel. While the system can suspend without
> > > issues, it hangs on the resume routine. After some investigation, I
> > > can
> > > see the Kernel hanging on imx8m_blk_ctrl_power_on()[1] while resuming
> > > the hantro-vpu power domain.
> > >
> > > Any hint about that?
> > >
> > > [1]
> > > https://elixir.bootlin.com/linux/v6.9-rc2/source/drivers/pmdomain/imx
> > > /imx8m-blk-ctrl.c#L101
> > >
> >
> + Lucas
>
> > Looking at other child nodes of the pgc node, pgc_vpu_[g1|g2|h1] seems
> > to be nested into pgc_vpumix.
> >
>
> On the surface, that's how it appears and it would be consistent with
> how the GPU's work with the GPC's for each GPU calling the gpumix.
> However, the VPU's all reference the vpu_blk_ctrl which itself
> references the vpumix.
>
> Lucas,
>
> You seem to know this driver pretty well. Do you expect the G1, G2,
> and H1 PGC's to all reference the vpumix, or do you expect the
> vpu_blk_ctrl to enable/disable the vpumix?
>
Nope, that's incorrect, as discussed here:
https://lore.kernel.org/all/9ce35b9bb5a15891f6bd01bd54b7dc84b3ba4021.camel@pengutronix.de/
>
>
> > After applying the following changes to imx8mm.dtsi, the suspend/resume
> > is working.
> >
> >
> > @@ -739,16 +739,19 @@ pgc_vpumix: power-domain@6 {
> > pgc_vpu_g1: power-domain@7 {
> > #power-domain-cells = <0>;
> > reg = <IMX8MM_POWER_DOMAIN_VPUG1>;
> > + power-domains = <&pgc_vpumix>;
> > };
> >
> > pgc_vpu_g2: power-domain@8 {
> > #power-domain-cells = <0>;
> > reg = <IMX8MM_POWER_DOMAIN_VPUG2>;
> > + power-domains = <&pgc_vpumix>;
> > };
> >
> > pgc_vpu_h1: power-domain@9 {
> > #power-domain-cells = <0>;
> > reg = <IMX8MM_POWER_DOMAIN_VPUH1>;
> > + power-domains = <&pgc_vpumix>;
> > };
> >
> >
> > I will prepare the patch to send in the next couple of days.
>
> Please CC me when post the patch, and I can run some tests on my hardware.
The correct patch is already out:
https://lore.kernel.org/all/20240418155151.355133-1-ivitro@gmail.com/
Regards,
Lucas
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on()
2024-05-08 17:45 ` Lucas Stach
@ 2024-05-08 17:47 ` Adam Ford
0 siblings, 0 replies; 5+ messages in thread
From: Adam Ford @ 2024-05-08 17:47 UTC (permalink / raw)
To: Lucas Stach
Cc: vitor, linux-pm, imx, linux-arm-kernel, linux-kernel,
vitor.soares, ulf.hansson, shawnguo, s.hauer, kernel, festevam,
rafael, geert+renesas, peng.fan, linus.walleij, u.kleine-koenig,
marex
On Wed, May 8, 2024 at 12:45 PM Lucas Stach <l.stach@pengutronix.de> wrote:
>
> Hi Adam,
>
> Am Mittwoch, dem 08.05.2024 um 12:30 -0500 schrieb Adam Ford:
> > On Fri, Apr 5, 2024 at 10:09 AM vitor <ivitro@gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > On Thu, 2024-04-04 at 16:53 +0100, vitor wrote:
> > > > Greetings,
> > > >
> > > > I'm trying to suspend/resume our Verdin iMX8M Mini with VPU IP using
> > > > the latest 6.9.0-rc2 Kernel. While the system can suspend without
> > > > issues, it hangs on the resume routine. After some investigation, I
> > > > can
> > > > see the Kernel hanging on imx8m_blk_ctrl_power_on()[1] while resuming
> > > > the hantro-vpu power domain.
> > > >
> > > > Any hint about that?
> > > >
> > > > [1]
> > > > https://elixir.bootlin.com/linux/v6.9-rc2/source/drivers/pmdomain/imx
> > > > /imx8m-blk-ctrl.c#L101
> > > >
> > >
> > + Lucas
> >
> > > Looking at other child nodes of the pgc node, pgc_vpu_[g1|g2|h1] seems
> > > to be nested into pgc_vpumix.
> > >
> >
> > On the surface, that's how it appears and it would be consistent with
> > how the GPU's work with the GPC's for each GPU calling the gpumix.
> > However, the VPU's all reference the vpu_blk_ctrl which itself
> > references the vpumix.
> >
> > Lucas,
> >
> > You seem to know this driver pretty well. Do you expect the G1, G2,
> > and H1 PGC's to all reference the vpumix, or do you expect the
> > vpu_blk_ctrl to enable/disable the vpumix?
> >
> Nope, that's incorrect, as discussed here:
> https://lore.kernel.org/all/9ce35b9bb5a15891f6bd01bd54b7dc84b3ba4021.camel@pengutronix.de/
That's what I thought.
>
> >
> >
> > > After applying the following changes to imx8mm.dtsi, the suspend/resume
> > > is working.
> > >
> > >
> > > @@ -739,16 +739,19 @@ pgc_vpumix: power-domain@6 {
> > > pgc_vpu_g1: power-domain@7 {
> > > #power-domain-cells = <0>;
> > > reg = <IMX8MM_POWER_DOMAIN_VPUG1>;
> > > + power-domains = <&pgc_vpumix>;
> > > };
> > >
> > > pgc_vpu_g2: power-domain@8 {
> > > #power-domain-cells = <0>;
> > > reg = <IMX8MM_POWER_DOMAIN_VPUG2>;
> > > + power-domains = <&pgc_vpumix>;
> > > };
> > >
> > > pgc_vpu_h1: power-domain@9 {
> > > #power-domain-cells = <0>;
> > > reg = <IMX8MM_POWER_DOMAIN_VPUH1>;
> > > + power-domains = <&pgc_vpumix>;
> > > };
> > >
> > >
> > > I will prepare the patch to send in the next couple of days.
> >
> > Please CC me when post the patch, and I can run some tests on my hardware.
>
> The correct patch is already out:
> https://lore.kernel.org/all/20240418155151.355133-1-ivitro@gmail.com/
Thanks.
>
> Regards,
> Lucas
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-05-08 17:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-04 15:53 iMX8M Mini suspend/resume hanging on imx8m_blk_ctrl_power_on() vitor
2024-04-05 15:06 ` vitor
2024-05-08 17:30 ` Adam Ford
2024-05-08 17:45 ` Lucas Stach
2024-05-08 17:47 ` Adam Ford
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).