All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] clk: rk3308: make ddrphy4x clock critical
@ 2021-07-21 12:48 ` Yunhao Tian
  0 siblings, 0 replies; 27+ messages in thread
From: Yunhao Tian @ 2021-07-21 12:48 UTC (permalink / raw)
  To: heiko
  Cc: t123yh.xyz, Yunhao Tian, Michael Turquette, Stephen Boyd,
	linux-clk, linux-arm-kernel, linux-rockchip

Currently, no driver support for DDR memory controller (DMC) is present,
as a result, no driver is explicitly consuming the ddrphy clock. This means
that VPLL1 (parent of ddr clock) will be shutdown if we enable
and then disable any child clock of VPLL1 (e.g. SCLK_I2S0_8CH_TX).
If VPLL1 is disabled, the whole system will freeze, because the DDR
controller will lose its clock. So, it's necessary to prevent VPLL1 from
shutting down, by marking the ddrphy4x CLK_IS_CRITICAL.

This bug was discovered when I was porting rockchip_i2s_tdm driver to
mainline kernel from Rockchip 4.4 kernel. I guess that other Rockchip
SoCs without DMC driver may need the same patch. If this applies to
other devices, please let us know.

Signed-off-by: Yunhao Tian <t123yh@outlook.com>
---
 drivers/clk/rockchip/clk-rk3308.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/rockchip/clk-rk3308.c b/drivers/clk/rockchip/clk-rk3308.c
index 2c3bd0c749f2..6be077166330 100644
--- a/drivers/clk/rockchip/clk-rk3308.c
+++ b/drivers/clk/rockchip/clk-rk3308.c
@@ -564,7 +564,7 @@ static struct rockchip_clk_branch rk3308_clk_branches[] __initdata = {
 	COMPOSITE(SCLK_DDRCLK, "clk_ddrphy4x_src", mux_dpll_vpll0_vpll1_p, CLK_IGNORE_UNUSED,
 			RK3308_CLKSEL_CON(1), 6, 2, MFLAGS, 0, 3, DFLAGS,
 			RK3308_CLKGATE_CON(0), 10, GFLAGS),
-	GATE(0, "clk_ddrphy4x", "clk_ddrphy4x_src", CLK_IGNORE_UNUSED,
+	GATE(0, "clk_ddrphy4x", "clk_ddrphy4x_src", CLK_IGNORE_UNUSED | CLK_IS_CRITICAL,
 			RK3308_CLKGATE_CON(0), 11, GFLAGS),
 	FACTOR_GATE(0, "clk_ddr_stdby_div4", "clk_ddrphy4x", CLK_IGNORE_UNUSED, 1, 4,
 			RK3308_CLKGATE_CON(0), 13, GFLAGS),
-- 
2.32.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2021-08-05 21:54 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-21 12:48 [PATCH] clk: rk3308: make ddrphy4x clock critical Yunhao Tian
2021-07-21 12:48 ` Yunhao Tian
2021-07-27  1:08 ` Stephen Boyd
2021-07-27  1:08   ` Stephen Boyd
2021-07-27  1:08   ` Stephen Boyd
2021-07-27  1:22   ` 回复: " Tian Yunhao
2021-07-27  1:22     ` Tian Yunhao
2021-07-28  9:53   ` Heiko Stübner
2021-07-28  9:53     ` Heiko Stübner
2021-07-28  9:53     ` Heiko Stübner
2021-07-29 19:06     ` Stephen Boyd
2021-07-29 19:06       ` Stephen Boyd
2021-07-29 19:06       ` Stephen Boyd
2021-08-02 18:24       ` Saravana Kannan
2021-08-02 18:24         ` Saravana Kannan
2021-08-02 18:24         ` Saravana Kannan
2021-08-02 19:25         ` Heiko Stübner
2021-08-02 19:25           ` Heiko Stübner
2021-08-02 19:25           ` Heiko Stübner
2021-08-05 21:51           ` Saravana Kannan
2021-08-05 21:51             ` Saravana Kannan
2021-08-05 21:51             ` Saravana Kannan
2021-08-03  2:23         ` Tian Yunhao
2021-08-03  2:23           ` Tian Yunhao
2021-07-29 13:19 ` Heiko Stuebner
2021-07-29 13:19   ` Heiko Stuebner
2021-07-29 13:19   ` Heiko Stuebner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.