Re: [PATCH 6/6] clk: samsung: exynos850: Keep some crucial clocks running
From: Krzysztof Kozlowski
Date: Mon Nov 22 2021 - 02:57:28 EST
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@xxxxxxxxxx>
> ---
> drivers/clk/samsung/clk-exynos850.c | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>