[PATCH 6/6] clk: samsung: exynos850: Keep some crucial clocks running

Krzysztof Kozlowski krzysztof.kozlowski at canonical.com
Sun Nov 21 23:57:16 PST 2021


On 22/11/2021 00:27, Sam Protsenko wrote:
> Some clocks shouldn't be automatically disabled in clk_disable_unused(),
> otherwise kernel hangs. Mark those clocks with:
>   - CLK_IS_CRITICAL flag, when there won't be any consumers for that
>     clock, but system can't function when it's gated
>   - CLK_IGNORE_UNUSED flag, when consumer driver will be probably added
>     later
> 
> That makes it possible to run the kernel without passing the
> "clk_ignore_unused" param.
> 
> Next clocks were modified:
>   - "gout_dpu_cmu_dpu_pclk":	CLK_IGNORE_UNUSED
> 
>     Will be enabled later in DSIM driver (Display Serial Interface
>     Master).
> 
>   - "gout_gpio_peri_pclk":	CLK_IGNORE_UNUSED
>     "gout_gpio_cmgp_pclk":	CLK_IGNORE_UNUSED
>     "gout_gpio_hsi_pclk":	CLK_IGNORE_UNUSED
> 
>     Should be probably enabled in corresponding GPIO driver later, or
>     made CLK_IS_CRITICAL. "gout_gpio_peri_clk" is actually used by LEDs
>     on Exynos850-based dev board, so kernel hangs if this clock is not
>     running. Other clocks were marked as "ignore unused" to prevent
>     similar issues for other use cases or boards that might be added
>     later.
> 
>   - "gout_cci_aclk":		CLK_IS_CRITICAL
> 
>     CCI (Cache Coherent Interconnect): obviously is critical.
> 
>   - "gout_gic_clk":		CLK_IS_CRITICAL
> 
>     GIC (Generic Interrupt Controller): obviously is critical.
> 
> Signed-off-by: Sam Protsenko <semen.protsenko at linaro.org>
> ---
>  drivers/clk/samsung/clk-exynos850.c | 19 +++++++++++++------
>  1 file changed, 13 insertions(+), 6 deletions(-)
> 


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com>



More information about the linux-arm-kernel mailing list