linux-stable/drivers/clk/samsung
Sam Protsenko 6904d7e5d3 clk: samsung: exynos850: Keep some crucial clocks running
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@linaro.org>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20211121232741.6967-7-semen.protsenko@linaro.org
2021-11-22 10:52:00 +01:00
..
clk-cpu.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-cpu.h clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos-audss.c clk: samsung: exynos-audss: Make use of devm_platform_ioremap_resource() 2021-09-13 18:00:35 +02:00
clk-exynos-clkout.c clk: samsung: mark PM functions as __maybe_unused 2020-12-05 15:13:17 +01:00
clk-exynos4.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos5-subcmu.c clk: samsung: Change signature of exynos5_subcmus_init() function 2019-08-08 13:53:42 -07:00
clk-exynos5-subcmu.h clk: samsung: Change signature of exynos5_subcmus_init() function 2019-08-08 13:53:42 -07:00
clk-exynos7.c clk: exynos7: Mark aclk_fsys1_200 as critical 2021-04-07 11:37:17 +02:00
clk-exynos850.c clk: samsung: exynos850: Keep some crucial clocks running 2021-11-22 10:52:00 +01:00
clk-exynos3250.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos4412-isp.c clk: samsung: exynos4412-isp: Make use of devm_platform_ioremap_resource() 2021-09-13 18:00:51 +02:00
clk-exynos5250.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos5260.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-exynos5260.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-exynos5410.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-exynos5420.c clk: samsung: Update CPU clk registration 2021-11-20 14:22:49 +01:00
clk-exynos5433.c clk: samsung: exynos5433: update apollo and atlas clock probing 2021-10-15 16:00:17 +02:00
clk-pll.c clk: samsung: clk-pll: Implement pll0831x PLL type 2021-10-09 22:21:04 +02:00
clk-pll.h clk: samsung: clk-pll: Implement pll0831x PLL type 2021-10-09 22:21:04 +02:00
clk-s3c64xx.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk-s3c2410-dclk.c ARM: s3c24xx: pass pointer to clk driver via platform data 2020-08-19 20:58:10 +02:00
clk-s3c2410.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk-s3c2412.c clk: samsung: s3c24xx: declare s3c24xx_common_clk_init() in shared header 2020-08-17 18:54:33 +02:00
clk-s3c2443.c clk: samsung: s3c24xx: declare s3c24xx_common_clk_init() in shared header 2020-08-17 18:54:33 +02:00
clk-s5pv210-audss.c clk: samsung: s5pv210-audss: Make use of devm_platform_ioremap_resource() 2021-09-13 18:01:09 +02:00
clk-s5pv210.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk.c clk: samsung: remove __clk_lookup() usage 2021-11-19 19:32:30 +01:00
clk.h clk: samsung: Remove meaningless __init and extern from header files 2021-11-19 19:32:36 +01:00
Kconfig clk: samsung: describe drivers in Kconfig 2021-10-18 10:12:48 +02:00
Makefile clk: samsung: Introduce Exynos850 clock driver 2021-10-15 15:37:12 +02:00