2022-10-27 10:22:59

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH 5/6] clk: imx: keep hsio bus clock always on

From: Jacky Bai <[email protected]>

During Linux System suspend/resume stress test after System Sleep
enabled, system will stuck sometimes. It is because NICMIX is powered
down, which HSIOMIX(always on) is not powered down. When NICMIX
powering down, HSIOMIX will get a hardware handshake, without HSIO ROOT
clk, the handshake will lose. Then after NICMIX power on when system
resume, the access to HSIOMIX through NICMIX would be broken. So keep HSIO
ROOT always on.

Reviewed-by: Peng Fan <[email protected]>
Signed-off-by: Jacky Bai <[email protected]>
[Peng Fan] rewrite commit message
Signed-off-by: Peng Fan <[email protected]>
---
drivers/clk/imx/clk-imx93.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/imx/clk-imx93.c b/drivers/clk/imx/clk-imx93.c
index 422ad3c89845..74e8d810db7f 100644
--- a/drivers/clk/imx/clk-imx93.c
+++ b/drivers/clk/imx/clk-imx93.c
@@ -109,7 +109,7 @@ static const struct imx93_clk_root {
{ IMX93_CLK_CCM_CKO2, "ccm_cko2_root", 0x1d00, CKO2_SEL, },
{ IMX93_CLK_CCM_CKO3, "ccm_cko3_root", 0x1d80, CKO1_SEL, },
{ IMX93_CLK_CCM_CKO4, "ccm_cko4_root", 0x1e00, CKO2_SEL, },
- { IMX93_CLK_HSIO, "hsio_root", 0x1e80, LOW_SPEED_IO_SEL, },
+ { IMX93_CLK_HSIO, "hsio_root", 0x1e80, LOW_SPEED_IO_SEL, CLK_IS_CRITICAL},
{ IMX93_CLK_HSIO_USB_TEST_60M, "hsio_usb_test_60m_root", 0x1f00, LOW_SPEED_IO_SEL, },
{ IMX93_CLK_HSIO_ACSCAN_80M, "hsio_acscan_80m_root", 0x1f80, LOW_SPEED_IO_SEL, },
{ IMX93_CLK_HSIO_ACSCAN_480M, "hsio_acscan_480m_root", 0x2000, MISC_SEL, },
--
2.37.1



2022-10-27 23:26:37

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH 5/6] clk: imx: keep hsio bus clock always on

Quoting Peng Fan (OSS) (2022-10-27 03:11:58)
> From: Jacky Bai <[email protected]>
>
> During Linux System suspend/resume stress test after System Sleep
> enabled, system will stuck sometimes. It is because NICMIX is powered
> down, which HSIOMIX(always on) is not powered down. When NICMIX
> powering down, HSIOMIX will get a hardware handshake, without HSIO ROOT
> clk, the handshake will lose. Then after NICMIX power on when system
> resume, the access to HSIOMIX through NICMIX would be broken. So keep HSIO
> ROOT always on.
>
> Reviewed-by: Peng Fan <[email protected]>
> Signed-off-by: Jacky Bai <[email protected]>
> [Peng Fan] rewrite commit message
> Signed-off-by: Peng Fan <[email protected]>
> ---
> drivers/clk/imx/clk-imx93.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/imx/clk-imx93.c b/drivers/clk/imx/clk-imx93.c
> index 422ad3c89845..74e8d810db7f 100644
> --- a/drivers/clk/imx/clk-imx93.c
> +++ b/drivers/clk/imx/clk-imx93.c
> @@ -109,7 +109,7 @@ static const struct imx93_clk_root {
> { IMX93_CLK_CCM_CKO2, "ccm_cko2_root", 0x1d00, CKO2_SEL, },
> { IMX93_CLK_CCM_CKO3, "ccm_cko3_root", 0x1d80, CKO1_SEL, },
> { IMX93_CLK_CCM_CKO4, "ccm_cko4_root", 0x1e00, CKO2_SEL, },
> - { IMX93_CLK_HSIO, "hsio_root", 0x1e80, LOW_SPEED_IO_SEL, },
> + { IMX93_CLK_HSIO, "hsio_root", 0x1e80, LOW_SPEED_IO_SEL, CLK_IS_CRITICAL},

Similarly add a comment for critical flag please.