2022-02-26 01:44:20

by Adam Ford

[permalink] [raw]
Subject: [PATCH] soc: imx: imx8m-blk-ctrl: Fix IMX8MN_DISPBLK_PD_ISI hang

When attempting to communicate with the ISI, the system hangs.
Through trial and error, it appears removing the two root clocks
fixes the issues. Since IMX8MN_DISPBLK_PD_ISI enables the
pgc_dispmix, and pgc_dispmix enables those same root clocks, it should be
safe.

Fixes: 7f511d514e8c ("soc: imx: imx8m-blk-ctrl: add i.MX8MN DISP blk-ctrl")
Signed-off-by: Adam Ford <[email protected]>

diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index 122f9c884b38..cacf379aef80 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -574,9 +574,8 @@ static const struct imx8m_blk_ctrl_domain_data imx8mn_disp_blk_ctl_domain_data[]
},
[IMX8MN_DISPBLK_PD_ISI] = {
.name = "dispblk-isi",
- .clk_names = (const char *[]){ "disp_axi", "disp_apb", "disp_axi_root",
- "disp_apb_root"},
- .num_clks = 4,
+ .clk_names = (const char *[]){ "disp_axi", "disp_apb" },
+ .num_clks = 2,
.gpc_name = "isi",
.rst_mask = BIT(6) | BIT(7),
.clk_mask = BIT(6) | BIT(7),
--
2.34.1