From: Taniya Das <taniya.das@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Abel Vesa <abel.vesa@linaro.org>
Cc: kernel@oss.qualcomm.com, Pankaj Patil <quic_pankpati@quicinc.com>,
Bjorn Andersson <andersson@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Taniya Das <quic_tdas@quicinc.com>,
linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/7] clk: qcom: Add TCSR clock driver for Glymur
Date: Wed, 6 Aug 2025 15:51:42 +0530 [thread overview]
Message-ID: <462b4010-fd79-4682-b9d2-31ffdd53b75a@oss.qualcomm.com> (raw)
In-Reply-To: <9e3b4706-c61a-4d69-be84-a5b6fc90eb35@oss.qualcomm.com>
On 8/6/2025 3:34 PM, Konrad Dybcio wrote:
> On 8/4/25 4:21 PM, Taniya Das wrote:
>>
>>
>> On 8/4/2025 6:40 PM, Konrad Dybcio wrote:
>>> On 8/4/25 11:00 AM, Taniya Das wrote:
>>>>
>>>>
>>>> On 8/1/2025 5:24 PM, Konrad Dybcio wrote:
>>>>> On 8/1/25 7:31 AM, Abel Vesa wrote:
>>>>>> On 25-08-01 10:02:15, Taniya Das wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 7/30/2025 4:55 PM, Abel Vesa wrote:
>>>>>>>> On 25-07-29 11:12:37, Taniya Das wrote:
>>>>>>>>> Add a clock driver for the TCSR clock controller found on Glymur, which
>>>>>>>>> provides refclks for PCIE, USB, and UFS.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
>>>>>>>>> ---
>>>>>>>>> drivers/clk/qcom/Kconfig | 8 ++
>>>>>>>>> drivers/clk/qcom/Makefile | 1 +
>>>>>>>>> drivers/clk/qcom/tcsrcc-glymur.c | 257 +++++++++++++++++++++++++++++++++++++++
>>>>>>>>> 3 files changed, 266 insertions(+)
>>>>>>>>>
>>>>>>>>
>>>>>>>> [...]
>>>>>>>>
>>>>>>>>> +
>>>>>>>>> +static struct clk_branch tcsr_edp_clkref_en = {
>>>>>>>>> + .halt_reg = 0x1c,
>>>>>>>>> + .halt_check = BRANCH_HALT_DELAY,
>>>>>>>>> + .clkr = {
>>>>>>>>> + .enable_reg = 0x1c,
>>>>>>>>> + .enable_mask = BIT(0),
>>>>>>>>> + .hw.init = &(const struct clk_init_data) {
>>>>>>>>> + .name = "tcsr_edp_clkref_en",
>>>>>>>>> + .ops = &clk_branch2_ops,
>>>>>>>>
>>>>>>>> As discussed off-list, these clocks need to have the bi_tcxo as parent.
>>>>>>>>
>>>>>>>> Otherwise, as far as the CCF is concerned these clocks will have rate 0,
>>>>>>>> which is obviously not the case.
>>>>>>>>
>>>>>>>> Bringing this here since there is a disconnect between X Elite and
>>>>>>>> Glymur w.r.t this now.
>>>>>>>
>>>>>>>
>>>>>>> The ref clocks are not required to be have a parent of bi_tcxo as these
>>>>>>> ideally can be left enabled(as a subsystem requirement) even if HLOS
>>>>>>> (APSS) goes to suspend. With the bi_tcxo parent the ARC vote from
>>>>>>> HLOS/APSS will not allow APSS to collapse.
>>>>>>
>>>>>> Is there a scenario where the APSS is collapsed and still the ref clock
>>>>>> needs to stay enabled ? Sorry, this doesn't make sense to me.
>>>>>
>>>>> MDSS is capable of displaying things from a buffer when the CPU is off,
>>>>> AFAICU
>>>>>
>>>>> We can do CXO_AO instead to have it auto-collapse if it's just Linux
>>>>> requesting it to stay on, I think.
>>>>>
>>>>
>>>> Thanks Konrad for adding the display use case.
>>>> Abel, we earlier also had some PCIe, USB use cases where we had to leave
>>>> the ref clocks ON and APSS could collapse.
>>>
>>> XO votes will prevent CX collapse, not APSS collapse. CX also powers
>>> USB and PCIe so that only makes sense.
>>>
>>> I think it's fair to just stick XO as the parent of every refclock
>>> today and think about the what-ifs (such as the mdss case I mentioned
>>> above) later - especially since we have no infra to take full advantage
>>> of it today (non-APSS RSCs etc.)
>>>
>>
>> When ref clock have been part of GCC, then also they didn't have any xo
>> as the parent, similar design we kept when it was moved to TCSR as well.
>
> Perhaps we've been running on luck (i.e. XO votes being cast through
> another device / clock as a second order effect) all this time.. I'd
> happily move towards formal correctness.
>
I would like to stay with no XO linkage to TCSR. Any driver has specific
XO requirement should vote for the rpmhcc XO or XO_AO.
--
Thanks,
Taniya Das
next prev parent reply other threads:[~2025-08-06 10:21 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-29 5:42 [PATCH v3 0/7] Add support for Clock controllers " Taniya Das
2025-07-29 5:42 ` [PATCH v3 1/7] dt-bindings: clock: qcom-rpmhcc: Add support for Glymur SoCs Taniya Das
2025-07-30 7:15 ` Krzysztof Kozlowski
2025-07-29 5:42 ` [PATCH v3 2/7] dt-bindings: clock: qcom: Document the Glymur TCSR Clock Controller Taniya Das
2025-07-30 7:17 ` Krzysztof Kozlowski
2025-08-01 4:14 ` Taniya Das
2025-08-01 7:28 ` Dmitry Baryshkov
2025-08-01 9:10 ` Krzysztof Kozlowski
2025-08-04 9:01 ` Taniya Das
2025-08-06 9:57 ` Taniya Das
2025-08-06 10:00 ` Krzysztof Kozlowski
2025-07-29 5:42 ` [PATCH v3 3/7] clk: qcom: Add TCSR clock driver for Glymur Taniya Das
2025-07-29 10:49 ` Dmitry Baryshkov
2025-07-30 11:25 ` Abel Vesa
2025-08-01 4:32 ` Taniya Das
2025-08-01 5:31 ` Abel Vesa
2025-08-01 11:54 ` Konrad Dybcio
2025-08-04 9:00 ` Taniya Das
2025-08-04 9:36 ` Abel Vesa
2025-08-04 13:10 ` Konrad Dybcio
2025-08-04 14:21 ` Taniya Das
2025-08-06 10:04 ` Konrad Dybcio
2025-08-06 10:21 ` Taniya Das [this message]
2025-08-07 13:07 ` Konrad Dybcio
2025-08-08 9:54 ` Taniya Das
2025-07-29 5:42 ` [PATCH v3 4/7] clk: qcom: rpmh: Add support for Glymur rpmh clocks Taniya Das
2025-07-29 10:48 ` Dmitry Baryshkov
2025-07-29 5:42 ` [PATCH v3 5/7] clk: qcom: clk-alpha-pll: Add support for Taycan EKO_T PLL Taniya Das
2025-07-29 5:42 ` [PATCH v3 6/7] dt-bindings: clock: qcom: document the Glymur Global Clock Controller Taniya Das
2025-07-29 5:42 ` [PATCH v3 7/7] clk: qcom: gcc: Add support for " Taniya Das
2025-07-29 10:01 ` Konrad Dybcio
2025-07-29 10:48 ` Dmitry Baryshkov
2025-07-29 10:49 ` Konrad Dybcio
2025-08-01 4:25 ` Taniya Das
2025-07-30 7:15 ` [PATCH v3 0/7] Add support for Clock controllers for Glymur Krzysztof Kozlowski
2025-07-31 10:25 ` Taniya Das
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=462b4010-fd79-4682-b9d2-31ffdd53b75a@oss.qualcomm.com \
--to=taniya.das@oss.qualcomm.com \
--cc=abel.vesa@linaro.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@oss.qualcomm.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=quic_pankpati@quicinc.com \
--cc=quic_tdas@quicinc.com \
--cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®