[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d120c72d-09d9-d78b-01ae-f5592f6a07be@somainline.org>
Date: Tue, 26 Jul 2022 21:16:22 +0200
From: Konrad Dybcio <konrad.dybcio@...ainline.org>
To: Abel Vesa <abel.vesa@...aro.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Andy Gross <agross@...nel.org>,
Mike Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-clk@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [RFC 0/9] clk: qcom: gcc-sdm845: Swicth from expanded definitions
to compact macros
Hello!
Probably an unnecessary nit: typo in the word 'Switch' in the title
On 26.07.2022 16:22, Abel Vesa wrote:
> Lets see where this goes.
>
> This RFC is basically a proof-of-concept of how we could use more
> compact macros rather than expanded definitions for clocks on QCOM
> platforms. As the subject says, this is only for SDM845 GCC, for now.
>
> Also, there are a couple of hacky solutions here that need to be
> reworked before it could be merged (if ever). One that comes to mind is
> the way the branch clock macros differentiate between having no parent,
> a parent name, or a parent HW. I'm still looking into that, so ...
>
> I tried to make them as compact and readable from the user's POV, but
> there is some complexity needed in order to allow passing different
> types (or number) of parents. Maybe that complexity is too crazy and
> doesn't bring that much benefit.
>
> I managed to put together some semi-automated way to do this for every
> CC, on every platform, if it's decided so. The only testing I managed to
> do so far was comparing the preprocessed output before and after. Oh,
> and the MTP does boot. I still need time to make sure that nothing gets
> broken.
>
> Also, this series is still WIP, so everything can be reworked fast, if
> needed.
>
> Abel Vesa (9):
> clk: qcom: qcc-sdm845: Collapse gdsc structs into macros
> clk: qcom: gcc-sdm845: Switch from parent_hws to parent_data
> clk: qcom: rcg: Add macros to collapse definition
> clk: qcom: alpha-pll: Add macros to collapse definition
> clk: qcom: branch: Add macros to collapse definition
> clk: qcom: common: Add macro wrapper for all clock types
> clk: qcom: gcc-sdm845: Switch to macros to collapse branch clocks
> definitions
> clk: qcom: gcc-sdm845: Switch to macros to collapse rcg2 clocks
> definitions
> clk: qcom: gcc-sdm845: Switch to macros to collapse alpha-pll clocks
> definitions
>
> drivers/clk/qcom/clk-alpha-pll.h | 61 +
> drivers/clk/qcom/clk-branch.h | 82 +
> drivers/clk/qcom/clk-rcg.h | 40 +
> drivers/clk/qcom/common.h | 3 +
> drivers/clk/qcom/gcc-sdm845.c | 3222 ++----------------------------
> drivers/clk/qcom/gdsc.h | 10 +
> 6 files changed, 406 insertions(+), 3012 deletions(-)
>
> --
At first I was against it, but now I like it. Saves on LoC and clutter.
And it will hopefully finally be reviewable, without 15 levels of
indentation flashing before your eyes :D
I am also happy you mentioned a "semi-automated" way to convert things,
especially since Qualcomm will take some time to adjust to this scheme
on their downstream kernel (it's already really good, I still have
arch/arm/mach-msm flashbacks..) and of course, when it comes to platform
support, the more the merrier!
Thanks for working on this.
Konrad
> 2.34.3
>
Powered by blists - more mailing lists