Re: [PATCH v5 5/8] clk: stm32: Fix stm32f429's ltdc driver hang in set clock rate, fix duplicated ltdc clock register to 'clk_core' case ltdc's clock turn off by clk_disable_unused()
From: Stephen Boyd
Date: Tue May 26 2020 - 21:44:58 EST
Quoting dillon.minfei@xxxxxxxxx (2020-05-24 20:45:45)
> From: dillon min <dillon.minfei@xxxxxxxxx>
>
> ltdc set clock rate crashed
> 'post_div_data[]''s pll_num is PLL_I2S, PLL_SAI (number is 1,2). but,
Please write "post_div_data[]'s" if it is possessive. "But" doesn't
start a sentence. This is one sentence, not two.
> as pll_num is offset of 'clks[]' input to clk_register_pll_div(), which
> is FCLK, CLK_LSI, defined in 'include/dt-bindings/clock/stm32fx-clock.h'
> so, this is a null object at the register time.
> then, in ltdc's clock is_enabled(), enable(), will call to_clk_gate().
> will return a null object, cause kernel crashed.
> need change pll_num to PLL_VCO_I2S, PLL_VCO_SAI for 'post_div_data[]'
>
> duplicated ltdc clock
> 'stm32f429_gates[]' has a member 'ltdc' register to 'clk_core', but no
> upper driver use it, ltdc driver use the lcd-tft defined in
> 'stm32f429_aux_clk[]'. after system startup, as stm32f429_gates[]'s ltdc
> enable_count is zero, so turn off by clk_disable_unused()
I sort of follow this. Is this another patch? Seems like two things are
going on here.
>
> Changes since V3:
> 1 drop last wrong changes about 'CLK_IGNORE_UNUSED' patch
> 2 fix PLL_SAI mismatch with PLL_VCO_SAI
This change log goes under the --- below.
>
> Signed-off-by: dillon min <dillon.minfei@xxxxxxxxx>
Any Fixes tag?