All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <andersson@kernel.org>
To: Qiang Yu <qiang.yu@oss.qualcomm.com>
Cc: Michael Turquette <mturquette@baylibre.com>,
	 Stephen Boyd <sboyd@kernel.org>,
	Brian Masney <bmasney@redhat.com>, Rob Herring <robh@kernel.org>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	 Taniya Das <taniya.das@oss.qualcomm.com>,
	Kees Cook <kees@kernel.org>,
	 "Gustavo A. R. Silva" <gustavoars@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	 linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
	devicetree@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	 Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Subject: Re: [PATCH v9 0/7] clk: qcom: Add common clkref support and migrate Glymur and Mahua
Date: Sat, 18 Jul 2026 16:52:34 -0500	[thread overview]
Message-ID: <alv1Q0ZmGVdUTGCu@baldur> (raw)
In-Reply-To: <20260713-tcsr_qref_0714-v9-0-373670ab15f9@oss.qualcomm.com>

On Mon, Jul 13, 2026 at 09:59:35PM -0700, Qiang Yu wrote:
> This series adds a common clkref_en implementation and converts glymur
> and mahua to use it, along with the related binding and DTS updates.
> 
> The PCIe clkref clocks on Glymur and Mahua gate the QREF block which
> provides reference clocks to the PCIe PHYs. QREF requires LDO supplies
> and a reference voltage from the refgen block to operate. The refgen
> block itself requires vdda-refgen_0p9 and vdda-refgen_1p2 LDOs to
> function.
> 
> Previously, these QREF votes were done in PHY drivers. In earlier
> discussion [1], the feedback was that this is the wrong ownership point:
> those supplies are for the QREF controlled by clkref registers, not for
> the PHY directly. Based on that feedback, this series keeps the
> regulator handling with the clkref control path.
> 
> Another reason for this series is reuse. clkref_en registers may live in
> different blocks across platforms (for example TCSR on Glymur, TLMM on
> SM8750 [2]), while the behavior is the same. The common helper lets each
> driver provide simple descriptors (name, offset, optional supplies) and
> reuse shared registration and runtime logic.
> 
> Glymur and Mahua share the same QREF TX/RPT/RX component naming but
> have different PCIe QREF topologies. Both are handled in tcsrcc-glymur.c
> via match_data to select the correct descriptor table per compatible.
> 
> [1] https://lore.kernel.org/lkml/aEBfV2M-ZqDF7aRz@hovoldconsulting.com/
> [2] https://lore.kernel.org/linux-arm-msm/20260202-topic-8750_tcsr-v1-0-cd7e6648c64f@oss.qualcomm.com/
> 
> Changes in v9:
>   - Add reviewed-by tags, no code change.
>   - Link to v8: https://lore.kernel.org/all/20260708-tcsr_qref_0708-v8-0-62c42b5fa269@oss.qualcomm.com/
> 
> Changes in v8:
>   - Define refs with __counted_by(num_refs) and make provider a single allocation
>   - Use mahua_tcsr_tx1_rpt012_rx2_regulators for PCIe6.
>   - Link to v7: https://lore.kernel.org/all/20260702-tcsr_qref_0702-v7-0-776f2811b7af@oss.qualcomm.com/
> 
> Changes in v7:
>   - Define compatible as an enum and add the per-compatible allOf/if/then block upfront for glymur. Reword commit msg for patch1
>   - Drop Krzysztof's Reviewed-by since the patch changed substantially from what he reviewed.
>   - Added a comment noting that on Mahua the REFGEN4 block is supplied by the vdda-refgen3-* regulators, and mentioned this in the commit message for patch2.
>   - Change the descriptor array to an array of pointers (const struct qcom_clk_ref_desc * const *). Skip unpopulated indices with if (!desc)
>   - Convert tcsr_cc_glymur_clk_descs[] and tcsr_cc_mahua_clk_descs[] to a pointer array.
>   - Add regulator lists for clkref_en on Mahua.
>   - Null-check device_get_match_data() result in probe.
>   - Add rx0 regulator in mahua tcsr node
>   - Squashed the former patch 8 (switch pcie5_phy ref clock to RPMH_CXO_CLK) into patch7, so Mahua PCIe probes at every commit.
>  - Link to v6: https://lore.kernel.org/all/20260621-tcsr_qref_0622-v6-0-c939c22ded0c@oss.qualcomm.com/
> 
> Changes in v6:
> - Split dt-bindings patch into two: one to move glymur-tcsr to its own
>   binding file, and one to add mahua support
> - Use regmap_set_bits()/regmap_clear_bits() instead of regmap_update_bits()
>   in clk-ref.c
> - Move clk_init_data from struct qcom_clk_ref to a stack variable in
>   qcom_clk_ref_register()
> - Add Co-developed-by/Reviewed-by tags from Konrad Dybcio
> - Add missing regulator supplies for EDP and USB clkref_en on glymur
> - Link to v5: https://patch.msgid.link/20260602-tcsr_qref_0527-v5-0-8ea174a59d7e@oss.qualcomm.com
> 
> Changes in v5:
> - Return 0 if regmap_read fail
> - Add a separate file for glymur-tcsr and mahua-tcsr
> - Link to v4: https://patch.msgid.link/20260527-tcsr_qref_0527-v4-0-ded83866c9d9@oss.qualcomm.com
> 
> Changes in v4:
> - Add mahua QREF support (binding, driver, DTS) to avoid dtb check error
> - Override pcie5_phy ref clock to RPMH_CXO_CLK on mahua since
>   TCSR_PCIE_1_CLKREF_EN is not available
> - Rename regulator arrays to topology-based names and merge duplicates
> - Remove else: false blocks from binding
> - Sort supply properties alphabetically in binding and DTS
> - Link to v3: https://lore.kernel.org/all/20260506-qref_vote_0506-v3-0-5ab71d2e6f16@oss.qualcomm.com/
> 
> Changes in v3:
> - Fix dtb check error: allOf:0: 'then' is a dependency of 'if'.
> - Link to v2: https://lore.kernel.org/all/20260420-vote_qref_in_tcsrcc-v2-0-589a23ae640a@oss.qualcomm.com/
> 
> Changes in v2:
> - RFC tag dropped
> - Changed back to additionalProperties: false
> - Moved all Glymur supply properties into top-level properties so they are explicitly defined.
> - Link to v1: https://lore.kernel.org/all/20260331-qref_vote-v1-0-3fd7fbf87864@oss.qualcomm.com/
> 
> Signed-off-by: Qiang Yu <qiang.yu@oss.qualcomm.com>
> ---
> Qiang Yu (7):
>       dt-bindings: clock: qcom: Move glymur TCSR to own binding
>       dt-bindings: clock: qcom,glymur-tcsr: Add mahua support
>       clk: qcom: Add generic clkref_en support
>       clk: qcom: tcsrcc-glymur: Add regulator supplies and migrate to clk_ref helper
>       clk: qcom: tcsrcc-glymur: Add Mahua QREF regulator support
>       arm64: dts: qcom: glymur: Add QREF regulator supplies to TCSR
>       arm64: dts: qcom: mahua: Add QREF regulator supplies to TCSR
> 
>  .../bindings/clock/qcom,glymur-tcsr.yaml           | 146 +++++++
>  .../bindings/clock/qcom,sm8550-tcsr.yaml           |   2 -
>  arch/arm64/boot/dts/qcom/glymur-crd.dts            |  20 +
>  arch/arm64/boot/dts/qcom/mahua-crd.dts             |  16 +
>  arch/arm64/boot/dts/qcom/mahua.dtsi                |  13 +
>  drivers/clk/qcom/Makefile                          |   1 +
>  drivers/clk/qcom/clk-ref.c                         | 205 +++++++++
>  drivers/clk/qcom/tcsrcc-glymur.c                   | 471 +++++++++++----------
>  include/linux/clk/qcom.h                           |  67 +++
>  9 files changed, 704 insertions(+), 237 deletions(-)
> ---
> base-commit: 3da905eb243cad56200f09bb7eaa060537aed0cc

I was hoping to apply this series, but I don't have this commit and
patch 4 ("migrate to clk_ref helper") doesn't apply to my tree.

What did you base this on? Why don't you test your changes on latest
mainline or linux-next?

Please rebase and test on a relevant branch.

Regards,
Bjorn

> change-id: 20260713-tcsr_qref_0714-0ee27bc42a07
> 
> Best regards,
> --  
> Qiang Yu <qiang.yu@oss.qualcomm.com>
> 

  parent reply	other threads:[~2026-07-18 21:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-14  4:59 [PATCH v9 0/7] clk: qcom: Add common clkref support and migrate Glymur and Mahua Qiang Yu
2026-07-14  4:59 ` [PATCH v9 1/7] dt-bindings: clock: qcom: Move glymur TCSR to own binding Qiang Yu
2026-07-14  5:09   ` sashiko-bot
2026-07-17 10:23     ` Qiang Yu
2026-07-14  4:59 ` [PATCH v9 2/7] dt-bindings: clock: qcom,glymur-tcsr: Add mahua support Qiang Yu
2026-07-14  5:08   ` sashiko-bot
2026-07-17 10:29     ` Qiang Yu
2026-07-14  4:59 ` [PATCH v9 3/7] clk: qcom: Add generic clkref_en support Qiang Yu
2026-07-14  4:59 ` [PATCH v9 4/7] clk: qcom: tcsrcc-glymur: Add regulator supplies and migrate to clk_ref helper Qiang Yu
2026-07-14  4:59 ` [PATCH v9 5/7] clk: qcom: tcsrcc-glymur: Add Mahua QREF regulator support Qiang Yu
2026-07-14  4:59 ` [PATCH v9 6/7] arm64: dts: qcom: glymur: Add QREF regulator supplies to TCSR Qiang Yu
2026-07-14  4:59 ` [PATCH v9 7/7] arm64: dts: qcom: mahua: " Qiang Yu
2026-07-18 21:52 ` Bjorn Andersson [this message]
2026-07-20  6:10   ` [PATCH v9 0/7] clk: qcom: Add common clkref support and migrate Glymur and Mahua Qiang Yu

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=alv1Q0ZmGVdUTGCu@baldur \
    --to=andersson@kernel.org \
    --cc=bmasney@redhat.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gustavoars@kernel.org \
    --cc=kees@kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzysztof.kozlowski@oss.qualcomm.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=qiang.yu@oss.qualcomm.com \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=taniya.das@oss.qualcomm.com \
    /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.