* 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).