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

From: Sam Protsenko
Date: Wed Feb 08 2023 - 01:07:25 EST


On Fri, 3 Feb 2023 at 08:33, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> wrote:
>
> 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.
>

Thanks, Marek! Will send v2 soon, which will be rebased on top of
soc/for-next tree.

> Feel free to add:
>
> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
>

I have some (small) functional changes in v2, so I guess it'll nice
ideally to re-test those first, if possible.

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