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

Sam Protsenko semen.protsenko at linaro.org
Tue Feb 7 22:05:27 PST 2023


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

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
>



More information about the linux-arm-kernel mailing list