Message ID | 1564471375-6736-1-git-send-email-abel.vesa@nxp.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 9b9c60bed562c3718ae324a86f3f30a4ff983cf8 |
Headers | show |
Series | [v3] clk: imx8mq: Mark AHB clock as critical | expand |
Quoting Abel Vesa (2019-07-30 00:22:55) > Initially, the TMU_ROOT clock was marked as critical, which automatically > made the AHB clock to stay always on. Since the TMU_ROOT clock is not > marked as critical anymore, following commit: > > 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") > > all the clocks that derive from ipg_root clock (and implicitly ahb clock) > would also have to enable, along with their own gate, the AHB clock. > > But considering that AHB is actually a bus that has to be always on, we mark > it as critical in the clock provider driver and then all the clocks that > derive from it can be controlled through the dedicated per IP gate which > follows after the ipg_root clock. > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > Tested-by: Daniel Baluta <daniel.baluta@nxp.com> > Fixes: 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") > --- > Should I just apply this to clk-fixes branch?
On 19-07-30 10:52:30, Stephen Boyd wrote: > Quoting Abel Vesa (2019-07-30 00:22:55) > > Initially, the TMU_ROOT clock was marked as critical, which automatically > > made the AHB clock to stay always on. Since the TMU_ROOT clock is not > > marked as critical anymore, following commit: > > > > 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") > > > > all the clocks that derive from ipg_root clock (and implicitly ahb clock) > > would also have to enable, along with their own gate, the AHB clock. > > > > But considering that AHB is actually a bus that has to be always on, we mark > > it as critical in the clock provider driver and then all the clocks that > > derive from it can be controlled through the dedicated per IP gate which > > follows after the ipg_root clock. > > > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > > Tested-by: Daniel Baluta <daniel.baluta@nxp.com> > > Fixes: 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") > > --- > > > > Should I just apply this to clk-fixes branch? > Nope. The commit 431bdd1df48e is just in -next for now. So this has to be taken by Shawn, I think.
Quoting Abel Vesa (2019-07-30 11:38:18) > On 19-07-30 10:52:30, Stephen Boyd wrote: > > Quoting Abel Vesa (2019-07-30 00:22:55) > > > Initially, the TMU_ROOT clock was marked as critical, which automatically > > > made the AHB clock to stay always on. Since the TMU_ROOT clock is not > > > marked as critical anymore, following commit: > > > > > > 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") > > > > > > all the clocks that derive from ipg_root clock (and implicitly ahb clock) > > > would also have to enable, along with their own gate, the AHB clock. > > > > > > But considering that AHB is actually a bus that has to be always on, we mark > > > it as critical in the clock provider driver and then all the clocks that > > > derive from it can be controlled through the dedicated per IP gate which > > > follows after the ipg_root clock. > > > > > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > > > Tested-by: Daniel Baluta <daniel.baluta@nxp.com> > > > Fixes: 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") > > > --- > > > > > > > Should I just apply this to clk-fixes branch? > > > > Nope. The commit 431bdd1df48e is just in -next for now. > So this has to be taken by Shawn, I think. Ah ok. I thought it was related to some other problem someone was seeing in the rc series but you're right, it was just linux-next for them.
On Tue, Jul 30, 2019 at 10:22:55AM +0300, Abel Vesa wrote: > Initially, the TMU_ROOT clock was marked as critical, which automatically > made the AHB clock to stay always on. Since the TMU_ROOT clock is not > marked as critical anymore, following commit: > > 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") The commit ID is not stable before the commit actually lands mainline. I could possibly rebase the branch. > > all the clocks that derive from ipg_root clock (and implicitly ahb clock) > would also have to enable, along with their own gate, the AHB clock. > > But considering that AHB is actually a bus that has to be always on, we mark > it as critical in the clock provider driver and then all the clocks that > derive from it can be controlled through the dedicated per IP gate which > follows after the ipg_root clock. > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > Tested-by: Daniel Baluta <daniel.baluta@nxp.com> > Fixes: 431bdd1df48e ("clk: imx8mq: Remove CLK_IS_CRITICAL flag for IMX8MQ_CLK_TMU_ROOT") Dropped commit ID above and Fixes tag here, and applied the patch. Thanks for the fixing. Shawn
diff --git a/drivers/clk/imx/clk-imx8mq.c b/drivers/clk/imx/clk-imx8mq.c index 4328c22..04302f2 100644 --- a/drivers/clk/imx/clk-imx8mq.c +++ b/drivers/clk/imx/clk-imx8mq.c @@ -406,7 +406,8 @@ static int imx8mq_clocks_probe(struct platform_device *pdev) clks[IMX8MQ_CLK_NOC_APB] = imx8m_clk_composite_critical("noc_apb", imx8mq_noc_apb_sels, base + 0x8d80); /* AHB */ - clks[IMX8MQ_CLK_AHB] = imx8m_clk_composite("ahb", imx8mq_ahb_sels, base + 0x9000); + /* AHB clock is used by the AHB bus therefore marked as critical */ + clks[IMX8MQ_CLK_AHB] = imx8m_clk_composite_critical("ahb", imx8mq_ahb_sels, base + 0x9000); clks[IMX8MQ_CLK_AUDIO_AHB] = imx8m_clk_composite("audio_ahb", imx8mq_audio_ahb_sels, base + 0x9100); /* IPG */