From: bjorn@zenbook
To: Abel Vesa <abel.vesa@oss.qualcomm.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
Abel Vesa <abelvesa@kernel.org>, Stephen Boyd <sboyd@kernel.org>,
Brian Masney <bmasney+clk@redhat.com>,
Jerome Brunet <jbrunet+clk@baylibre.com>,
linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Subject: Re: [PATCH v2 27/48] clk: qcom: gcc-sm6375: Use common clock controller probe data
Date: Sun, 27 Sep 2026 21:16:11 -0500 [thread overview]
Message-ID: <arahN4PGK53PdNI3@zenbook> (raw)
In-Reply-To: <20260924-clk-qcom-rework-legacy-always-on-clocks-v2-27-1479443ee016@oss.qualcomm.com>
On Thu, Sep 24, 2026 at 03:06:39PM +0300, Abel Vesa wrote:
> Move the always-on branch register offsets into a critical_cbcrs array
> and describe the DFS RCGs through qcom_cc_driver_data.
>
> Move the configuration of GPLL10, GPLL11, GPLL8 and GPLL9 into the
> clk_regs_configure callback. This preserves the existing ordering of
> enabling the always-on branches before configuring these four PLLs.
I don't see the clk_regs_configure being applied and the four
gpllNN_config definitions are dangling after this change.
(Please use "make W=1e")
I'm applying the rest of the series.
Regards,
Bjorn
> Using the alpha_plls array instead would configure the PLLs before the
> CBCR enables in the common probe path.
>
> Use qcom_cc_probe() to perform the common initialization instead of
> open-coding it in the driver's probe.
>
> Assisted-by: LLM
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> ---
> drivers/clk/qcom/gcc-sm6375.c | 46 ++++++++++++++++++++++---------------------
> 1 file changed, 24 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/clk/qcom/gcc-sm6375.c b/drivers/clk/qcom/gcc-sm6375.c
> index 9c2acf8dc4b7..c67d4293c76b 100644
> --- a/drivers/clk/qcom/gcc-sm6375.c
> +++ b/drivers/clk/qcom/gcc-sm6375.c
> @@ -3853,7 +3853,30 @@ static const struct regmap_config gcc_sm6375_regmap_config = {
> .fast_io = true,
> };
>
> +static const u32 gcc_sm6375_critical_cbcrs[] = {
> + 0x17028, /* GCC_CAMERA_XO_CLK */
> + 0x2b004, /* GCC_CPUSS_GNOC_CLK */
> + 0x1702c, /* GCC_DISP_XO_CLK */
> +};
> +
> +static struct clk_alpha_pll *gcc_sm6375_plls[] = {
> + &gpll10,
> + &gpll11,
> + &gpll8,
> + &gpll9,
> +};
> +
> +static const struct qcom_cc_driver_data gcc_sm6375_driver_data = {
> + .alpha_plls = gcc_sm6375_plls,
> + .num_alpha_plls = ARRAY_SIZE(gcc_sm6375_plls),
> + .clk_cbcrs = gcc_sm6375_critical_cbcrs,
> + .num_clk_cbcrs = ARRAY_SIZE(gcc_sm6375_critical_cbcrs),
> + .dfs_rcgs = gcc_dfs_clocks,
> + .num_dfs_rcgs = ARRAY_SIZE(gcc_dfs_clocks),
> +};
> +
> static const struct qcom_cc_desc gcc_sm6375_desc = {
> + .driver_data = &gcc_sm6375_driver_data,
> .config = &gcc_sm6375_regmap_config,
> .clks = gcc_sm6375_clocks,
> .num_clks = ARRAY_SIZE(gcc_sm6375_clocks),
> @@ -3871,28 +3894,7 @@ MODULE_DEVICE_TABLE(of, gcc_sm6375_match_table);
>
> static int gcc_sm6375_probe(struct platform_device *pdev)
> {
> - struct regmap *regmap;
> - int ret;
> -
> - regmap = qcom_cc_map(pdev, &gcc_sm6375_desc);
> - if (IS_ERR(regmap))
> - return PTR_ERR(regmap);
> -
> - ret = qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks, ARRAY_SIZE(gcc_dfs_clocks));
> - if (ret)
> - return ret;
> -
> - /* Keep some clocks always-on */
> - qcom_branch_set_clk_en(regmap, 0x17028); /* GCC_CAMERA_XO_CLK */
> - qcom_branch_set_clk_en(regmap, 0x2b004); /* GCC_CPUSS_GNOC_CLK */
> - qcom_branch_set_clk_en(regmap, 0x1702c); /* GCC_DISP_XO_CLK */
> -
> - clk_lucid_pll_configure(&gpll10, regmap, &gpll10_config);
> - clk_lucid_pll_configure(&gpll11, regmap, &gpll11_config);
> - clk_lucid_pll_configure(&gpll8, regmap, &gpll8_config);
> - clk_zonda_pll_configure(&gpll9, regmap, &gpll9_config);
> -
> - return qcom_cc_really_probe(&pdev->dev, &gcc_sm6375_desc, regmap);
> + return qcom_cc_probe(pdev, &gcc_sm6375_desc);
> }
>
> static struct platform_driver gcc_sm6375_driver = {
>
> --
> 2.54.0
>
next prev parent reply other threads:[~2026-09-28 2:16 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-24 12:06 [PATCH v2 00/48] clk: qcom: Use common probe data for always-on clocks Abel Vesa
2026-09-24 12:06 ` [PATCH v2 01/48] clk: qcom: camcc-sa8775p: Use common probe handling " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 02/48] clk: qcom: camcc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 03/48] clk: qcom: camcc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 04/48] clk: qcom: camcc-sm8150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 05/48] clk: qcom: dispcc-sc7280: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 06/48] clk: qcom: dispcc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 07/48] clk: qcom: dispcc-sm4450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 08/48] clk: qcom: dispcc-sm6115: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 09/48] clk: qcom: dispcc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 10/48] clk: qcom: dispcc-sm8250: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 11/48] clk: qcom: dispcc-sm8550: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 12/48] clk: qcom: dispcc-sm8750: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 13/48] clk: qcom: dispcc-x1e80100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 14/48] clk: qcom: dispcc0-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 15/48] clk: qcom: dispcc1-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 16/48] clk: qcom: gcc-qcs615: Use common clock controller probe data Abel Vesa
2026-09-24 12:06 ` [PATCH v2 17/48] clk: qcom: gcc-qcs8300: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 18/48] clk: qcom: gcc-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 19/48] clk: qcom: gcc-sar2130p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 20/48] clk: qcom: gcc-sc7180: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 21/48] clk: qcom: gcc-sc7280: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 22/48] clk: qcom: gcc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 23/48] clk: qcom: gcc-sdx55: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 24/48] clk: qcom: gcc-sdx65: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 25/48] clk: qcom: gcc-sdx75: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 26/48] clk: qcom: gcc-sm4450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 27/48] clk: qcom: gcc-sm6375: " Abel Vesa
2026-09-25 16:43 ` Bjorn Andersson
2026-09-28 2:16 ` bjorn [this message]
2026-09-24 12:06 ` [PATCH v2 28/48] clk: qcom: gcc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 29/48] clk: qcom: gcc-sm8250: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 30/48] clk: qcom: gcc-sm8350: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 31/48] clk: qcom: gcc-sm8450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 32/48] clk: qcom: gcc-sm8550: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 33/48] clk: qcom: gcc-sm8650: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 34/48] clk: qcom: gcc-sm8750: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 35/48] clk: qcom: gcc-x1e80100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 36/48] clk: qcom: gpucc-sar2130p: Use common probe handling for always-on clocks Abel Vesa
2026-09-24 12:06 ` [PATCH v2 37/48] clk: qcom: gpucc-sc7280: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 38/48] clk: qcom: gpucc-sc8280xp: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 39/48] clk: qcom: gpucc-sm4450: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 40/48] clk: qcom: gpucc-sm8550: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 41/48] clk: qcom: gpucc-x1e80100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 42/48] clk: qcom: gpucc-x1p42100: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 43/48] clk: qcom: lpasscorecc-sc7180: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 44/48] clk: qcom: videocc-sa8775p: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 45/48] clk: qcom: videocc-sm6350: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 46/48] clk: qcom: videocc-sm7150: " Abel Vesa
2026-09-24 12:06 ` [PATCH v2 47/48] clk: qcom: videocc-sm8250: " Abel Vesa
2026-09-24 12:07 ` [PATCH v2 48/48] clk: qcom: videocc-sm8350: " Abel Vesa
2026-09-25 16:43 ` [PATCH v2 00/48] clk: qcom: Use common probe data " Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=arahN4PGK53PdNI3@zenbook \
--to=bjorn@zenbook \
--cc=abel.vesa@oss.qualcomm.com \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=bmasney+clk@redhat.com \
--cc=jbrunet+clk@baylibre.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.