* [PATCH] soc: imx: imx8m-blk-ctrl: Fix IMX8MN_DISPBLK_PD_ISI hang
@ 2022-02-25 16:17 Adam Ford
2022-02-25 16:58 ` Lucas Stach
0 siblings, 1 reply; 2+ messages in thread
From: Adam Ford @ 2022-02-25 16:17 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Adam Ford, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team, Lucas Stach, linux-kernel
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 <aford173@gmail.com>
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] soc: imx: imx8m-blk-ctrl: Fix IMX8MN_DISPBLK_PD_ISI hang
2022-02-25 16:17 [PATCH] soc: imx: imx8m-blk-ctrl: Fix IMX8MN_DISPBLK_PD_ISI hang Adam Ford
@ 2022-02-25 16:58 ` Lucas Stach
0 siblings, 0 replies; 2+ messages in thread
From: Lucas Stach @ 2022-02-25 16:58 UTC (permalink / raw)
To: Adam Ford, linux-arm-kernel
Cc: Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
NXP Linux Team, linux-kernel
Am Freitag, dem 25.02.2022 um 10:17 -0600 schrieb Adam Ford:
> 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.
>
This doesn't look right. Why would this make a difference?
The only difference is that those clocks may be disabled at the end of
the power-up routine when they are assigned to the blk-ctrl domain. If
ISI communication hangs while those clocks are disabled, then that is
more of a hint for a missing clock enable on the ISI driver side than
an issue on the blk-ctrl side.
Regards,
Lucas
> Fixes: 7f511d514e8c ("soc: imx: imx8m-blk-ctrl: add i.MX8MN DISP blk-ctrl")
> Signed-off-by: Adam Ford <aford173@gmail.com>
>
> 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),
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-02-25 16:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-25 16:17 [PATCH] soc: imx: imx8m-blk-ctrl: Fix IMX8MN_DISPBLK_PD_ISI hang Adam Ford
2022-02-25 16:58 ` Lucas Stach
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).