From: Stanislaw Pal <kuncy7@gmail.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Jie Luo <jie.luo@oss.qualcomm.com>
Cc: Mieczyslaw Nalewaj <namiltd@yahoo.com>,
Bjorn Andersson <andersson@kernel.org>,
Stephen Boyd <sboyd@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Georg Seema <georgseema@gmail.com>,
Brian Masney <bmasney@redhat.com>,
linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] clk: qcom: ipq-cmn-pll: keep the CMN block bus clocks enabled
Date: Wed, 9 Sep 2026 15:20:49 +0200 [thread overview]
Message-ID: <20260909132049.37611-1-kuncy7@gmail.com> (raw)
In-Reply-To: <b58e3f64-1a5c-4db4-a51b-7138fb3609da@oss.qualcomm.com>
On 9/9/26 2:12 PM, Konrad Dybcio wrote:
> Is it only the UNIPHY consuming the 50 MHz one?
>
> What consumes the XO clock? What consumes the sleep clock?
Nothing in Linux consumes any of the three today.
grep -rn '&cmn_pll' arch/arm64/boot/dts/qcom/ on v6.18 gives, in full:
ipq5018.dtsi:258: assigned-clocks = <&cmn_pll IPQ5018_CMN_PLL_CLK>;
ipq5424.dtsi:288: assigned-clocks = <&cmn_pll IPQ5424_CMN_PLL_CLK>;
ipq9574.dtsi:359: assigned-clocks = <&cmn_pll CMN_PLL_CLK>;
ipq9574.dtsi:1253: <&cmn_pll NSS_1200MHZ_CLK>,
ipq9574.dtsi:1254: <&cmn_pll PPE_353MHZ_CLK>,
The first three are the provider setting its own VCO rate. The only
real consumer anywhere is the IPQ9574 NSS clock controller. No device
tree in the tree references XO_24MHZ_CLK or SLEEP_32KHZ_CLK, on any
SoC - and of the five compatibles the driver carries, only ipq5018,
ipq5424 and ipq9574 have a cmn_pll node in mainline at all.
On IPQ5018 specifically:
- eth-50mhz: Jie is right that the UNIPHY takes it, and it will become
a clk_get() consumer once IPQ5018 UNIPHY/PCS support lands. The node
in the pending work has
clocks = <&gcc GCC_UNIPHY_AHB_CLK>, <&gcc GCC_UNIPHY_SYS_CLK>,
<&gcc GCC_UNIPHY_RX_CLK>, <&gcc GCC_UNIPHY_TX_CLK>,
<&cmn_pll IPQ5018_ETH_50MHZ_CLK>;
clock-names = "ahb", "sys", "port5_rx", "port5_tx", "ref";
In mainline there is no such node yet - the only "uniphy" nodes on
IPQ5018 are the two PCIe PHYs - so that 50 MHz path exists in
silicon with nothing holding a handle on it from Linux.
- xo-24mhz and sleep-32khz: I know of no consumer, in tree or out.
Worth noting these are not what the rest of the SoC runs on: the
platform's 24 MHz XO and 32 kHz sleep clock come from the board
oscillators described separately in ipq5018.dtsi (xo_clk ->
ref_96mhz_clk -> xo_board_clk, and sleep_clk), not from the CMN
block. The CMN outputs at the same nominal rates look like
re-exports for hard-wired internal use.
I would rather this did not decide the patch, though, because the
failure it fixes is not a later register access to the CMN block.
Mieczyslaw's summary in the v4 thread put it that way; the mechanism I
measured is narrower, and it is what the v4 commit message describes:
- gating those same two clocks on an idle, fully booted GL-B3000
(runtime PM autosuspend, gate landing ~75 s after probe) is
harmless - runtime_status "suspended", both radios still serving
clients;
- with UNIPHY0 disabled in the device tree, so that no uniphy driver
exists in that boot at all, the board still dies in 6 of 7 boots;
- stretching the end of probe by 15 ms, or by a full 2 s, still ends
in a watchdog reset, 8 of 8 boots each.
So what hangs the SoC is the gate transition landing amid early-boot
bus activity, not any consumer's access afterwards. That is also why
no consumer-side scheme can help: the window is between the CMN PLL
probe returning and the first clk_get() by anybody, whichever consumer
eventually turns up.
Thanks for the Ack on v4.
Best regards,
Stanislaw
next prev parent reply other threads:[~2026-09-09 13:20 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-30 19:13 Stanislaw Pal
2026-08-02 20:53 ` Mieczyslaw Nalewaj
2026-08-03 7:14 ` Jie Luo
2026-08-03 9:10 ` Stanislaw Pal
2026-08-04 11:03 ` Jie Luo
2026-08-04 11:58 ` Stanislaw Pal
2026-08-05 4:52 ` Jie Luo
2026-08-05 8:12 ` Stanislaw Pal
2026-08-06 2:33 ` Jie Luo
2026-08-08 21:45 ` Mieczyslaw Nalewaj
2026-08-09 16:10 ` Stanislaw Pal
2026-08-11 12:54 ` Jie Luo
2026-08-11 19:53 ` Stanislaw Pal
2026-08-19 13:00 ` Konrad Dybcio
2026-08-20 5:39 ` Jie Luo
2026-08-22 11:19 ` Mieczyslaw Nalewaj
2026-08-24 10:28 ` Jie Luo
2026-08-24 19:06 ` Mieczyslaw Nalewaj
2026-08-24 20:23 ` Stanislaw Pal
2026-09-09 12:12 ` Konrad Dybcio
2026-09-09 13:20 ` Stanislaw Pal [this message]
2026-09-09 13:37 ` Konrad Dybcio
2026-09-11 14:18 ` Jie Luo
2026-08-04 11:53 ` [PATCH v2] " Stanislaw Pal
2026-08-05 18:53 ` Mieczyslaw Nalewaj
2026-08-05 19:36 ` [PATCH v3] " Stanislaw Pal
2026-08-11 11:48 ` Stanislaw Pal
2026-08-13 9:33 ` [PATCH v4] " Stanislaw Pal
2026-09-08 10:57 ` Mieczyslaw Nalewaj
2026-09-09 12:10 ` Konrad Dybcio
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=20260909132049.37611-1-kuncy7@gmail.com \
--to=kuncy7@gmail.com \
--cc=andersson@kernel.org \
--cc=bmasney@redhat.com \
--cc=georgseema@gmail.com \
--cc=jie.luo@oss.qualcomm.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=mturquette@baylibre.com \
--cc=namiltd@yahoo.com \
--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®