[PATCH 0/6] clk: samsung: Add PM support for ARM64 Exynos chips

Marek Szyprowski m.szyprowski at samsung.com
Fri Feb 3 06:33:27 PST 2023


On 03.02.2023 07:09, Sam Protsenko wrote:
> In order to prepare for PM enablement in clk-exynos850, common PM code
> was extracted from clk-exynos5433 to clk-exynos-arm64. Also some related
> cleanups were done prior to that. More specifically:
>
>    - patches #1..5: cleanups
>    - patch #6: PM code extraction
>
> During the extraction of the exynos5433_cmu_probe() content to
> exynos_arm64_register_cmu_pm() some code was reworked a bit, and also
> split into smaller functions. In particular:
>
>    - cmu_data structure now contains a pointer to ctx, which is now
>      allocated in samsung_clk_init()
>    - cmu_data structure initialization was moved into separate function
>    - code for configuring gate clocks was added (optional)
>
> Which in turn resulted in somehow modified code of probe function:
>
>    Original
>    --------
>
>      ...
>      devm_platform_ioremap_resource(...);
>      samsung_clk_init(...);
>      exynos_arm64_cmu_prepare_pm(...);
>      exynos_arm64_enable_bus_clk(...);
>      platform_set_drvdata(...);
>      ...
>
>    Modified
>    --------
>
>      ...
>      platform_set_drvdata(...);
>      exynos_arm64_cmu_prepare_pm(...);
>      exynos_arm64_enable_bus_clk(...);
>      exynos_arm64_init_clocks(...);
>      devm_platform_ioremap_resource(...);
>      samsung_clk_init(...);
>      ...
>
> That shouldn't really change the logic or mode of operation. It was
> preliminary tested on Exynos850 based board, with some extra patches on
> top of this series (will be submitted later).
>
> Marek, could you please test these patches on Exynos5433 platform, and
> also review accordingly?

I've tested and Exynos5433 still works fine after applying your changes. 
Btw, you should probably rebase your changes onto arm-soc tree (or 
recent linux-next), as there are some conflicts between your changes and 
the s3c24xx removal merged there.

Feel free to add:

Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>

I will try to review the individual patches on Monday though.


> Thanks!
>
> Sam Protsenko (6):
>    clk: samsung: Don't pass reg_base to samsung_clk_register_pll()
>    clk: samsung: Remove np argument from samsung_clk_init()
>    clk: samsung: Set dev in samsung_clk_init()
>    clk: samsung: Extract clocks registration to common function
>    clk: samsung: Extract parent clock enabling to common function
>    clk: samsung: exynos5433: Extract PM support to common ARM64 layer
>
>   drivers/clk/samsung/clk-exynos-arm64.c   | 219 +++++++++++++++++++++--
>   drivers/clk/samsung/clk-exynos-arm64.h   |   3 +
>   drivers/clk/samsung/clk-exynos4.c        |   6 +-
>   drivers/clk/samsung/clk-exynos4412-isp.c |   3 +-
>   drivers/clk/samsung/clk-exynos5250.c     |   5 +-
>   drivers/clk/samsung/clk-exynos5420.c     |   5 +-
>   drivers/clk/samsung/clk-exynos5433.c     | 157 +---------------
>   drivers/clk/samsung/clk-pll.c            |  11 +-
>   drivers/clk/samsung/clk-s3c2410.c        |   6 +-
>   drivers/clk/samsung/clk-s3c2412.c        |   5 +-
>   drivers/clk/samsung/clk-s3c2443.c        |   6 +-
>   drivers/clk/samsung/clk-s3c64xx.c        |   4 +-
>   drivers/clk/samsung/clk-s5pv210.c        |   6 +-
>   drivers/clk/samsung/clk.c                |  64 ++++---
>   drivers/clk/samsung/clk.h                |  10 +-
>   15 files changed, 282 insertions(+), 228 deletions(-)
>
Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




More information about the linux-arm-kernel mailing list