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

From: Marek Szyprowski
Date: Fri Feb 03 2023 - 09:33:54 EST


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@xxxxxxxxxxx>

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