2020-08-27 21:45:00

by Stefan Agner

[permalink] [raw]
Subject: [PATCH] clk: meson: g12a: mark fclk_div2 as critical

On Amlogic Meson G12b platform, similar to fclk_div3, the fclk_div2
seems to be necessary for the system to operate correctly as well.

Typically, the clock also gets chosen by the eMMC peripheral. This
probably masked the problem so far. However, when booting from a SD
card the clock seems to get disabled which leads to a system freeze.

Let's mark this clock as critical, fixing boot from SD card on G12b
platforms.

Signed-off-by: Stefan Agner <[email protected]>
---
drivers/clk/meson/g12a.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
index fad616cac01e..2214b974f748 100644
--- a/drivers/clk/meson/g12a.c
+++ b/drivers/clk/meson/g12a.c
@@ -298,6 +298,7 @@ static struct clk_regmap g12a_fclk_div2 = {
&g12a_fclk_div2_div.hw
},
.num_parents = 1,
+ .flags = CLK_IS_CRITICAL,
},
};

--
2.28.0


2020-08-28 13:54:00

by Jerome Brunet

[permalink] [raw]
Subject: Re: [PATCH] clk: meson: g12a: mark fclk_div2 as critical


On Thu 27 Aug 2020 at 23:43, Stefan Agner <[email protected]> wrote:

> On Amlogic Meson G12b platform, similar to fclk_div3, the fclk_div2
> seems to be necessary for the system to operate correctly as well.
>
> Typically, the clock also gets chosen by the eMMC peripheral. This
> probably masked the problem so far. However, when booting from a SD
> card the clock seems to get disabled which leads to a system freeze.
>
> Let's mark this clock as critical, fixing boot from SD card on G12b
> platforms.
>
> Signed-off-by: Stefan Agner <[email protected]>
> ---
> drivers/clk/meson/g12a.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
> index fad616cac01e..2214b974f748 100644
> --- a/drivers/clk/meson/g12a.c
> +++ b/drivers/clk/meson/g12a.c
> @@ -298,6 +298,7 @@ static struct clk_regmap g12a_fclk_div2 = {
> &g12a_fclk_div2_div.hw
> },
> .num_parents = 1,
> + .flags = CLK_IS_CRITICAL,
> },
> };

Hi Stephan,

Thanks for reporting and fixing this. That's unfortunately the things we
have to find the "hard way"

Could you please:
1) add a Fixes tag to commit description so stable can pick it up

Fixes: 085a4ea93d54 ("clk: meson: g12a: add peripheral clock controller")

2) Add a comment similar to the comment block of fdiv3 so we are pretty
clear why this clock needs to be critical and don't have to dig in
history find out.

Also please Cc Marek Szyprowski <[email protected]> ... you guys
apparently found this at them time :)

Thanks

2020-08-28 14:33:46

by Anand Moon

[permalink] [raw]
Subject: Re: [PATCH] clk: meson: g12a: mark fclk_div2 as critical

Hi Stefan,

On Fri, 28 Aug 2020 at 03:14, Stefan Agner <[email protected]> wrote:
>
> On Amlogic Meson G12b platform, similar to fclk_div3, the fclk_div2
> seems to be necessary for the system to operate correctly as well.
>
> Typically, the clock also gets chosen by the eMMC peripheral. This
> probably masked the problem so far. However, when booting from a SD
> card the clock seems to get disabled which leads to a system freeze.
>
> Let's mark this clock as critical, fixing boot from SD card on G12b
> platforms.
>
> Signed-off-by: Stefan Agner <[email protected]>
> ---

Thank you for this patch. I reported this a long time ago but could
not solve it.
Please add my
Tested-by: Anand Moon <[email protected]>



> drivers/clk/meson/g12a.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
> index fad616cac01e..2214b974f748 100644
> --- a/drivers/clk/meson/g12a.c
> +++ b/drivers/clk/meson/g12a.c
> @@ -298,6 +298,7 @@ static struct clk_regmap g12a_fclk_div2 = {
> &g12a_fclk_div2_div.hw
> },
> .num_parents = 1,
> + .flags = CLK_IS_CRITICAL,
> },
> };
>
> --
> 2.28.0
>
>
> _______________________________________________
> linux-amlogic mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-amlogic