From: Brian Masney <bmasney@redhat.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Danilo Krummrich <dakr@kernel.org>, Ulf Hansson <ulfh@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Russell King <linux@armlinux.org.uk>,
Neil Armstrong <neil.armstrong@linaro.org>,
Xuyang Dong <dongxuyang@eswincomputing.com>,
Jens Glathe <jens.glathe@oldschoolsolutions.biz>,
Hans de Goede <johannes.goede@oss.qualcomm.com>,
Maxime Ripard <mripard@kernel.org>,
Saravana Kannan <saravanak@kernel.org>,
Abel Vesa <abelvesa@kernel.org>,
driver-core@lists.linux.dev, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-clk@vger.kernel.org
Subject: Re: [PATCH 4/4] clk: implement sync_state support
Date: Mon, 29 Jun 2026 11:48:14 -0400 [thread overview]
Message-ID: <akKTviIP_rt4eRSk@redhat.com> (raw)
In-Reply-To: <f280150f-f829-4425-a856-9ca9f7aca233@oss.qualcomm.com>
On Mon, Jun 29, 2026 at 03:44:26PM +0200, Konrad Dybcio wrote:
> On 6/26/26 6:32 PM, Brian Masney wrote:
> > The existing support for disabling unused clks runs in the late initcall
> > stage, and it has been known for a long time that this is broken since
> > it runs too early in the boot up process. It doesn't work for kernel
> > modules, and it also doesn't work if all of the consumers haven't fully
> > probed yet. Folks have long recommended to boot certain platforms with
> > clk_ignore_unused to work around issues with disabling unused clks.
>
> [...]
>
> > [ 0.366737] clk: Disabling unused clocks not associated with a device
> > [ 0.367232] PM: genpd: Disabling unused power domains
> > [ 7.791413] qcom-qmp-pcie-phy 1c24000.phy: clk: Disabling unused clocks
> > [ 7.799702] qcom_aoss_qmp c300000.power-management: clk: Disabling unused clocks
> > [ 8.548820] qcom-qmp-pcie-phy 1c14000.phy: clk: Disabling unused clocks
> > [ 9.121849] qcom-qmp-usb-phy 88f1000.phy: clk: Disabling unused clocks
> > [ 9.121985] qcom-qmp-usb-phy 88ef000.phy: clk: Disabling unused clocks
> > [ 9.122691] qcom-edp-phy aec5a00.phy: clk: Disabling unused clocks
>
> Many of these drivers only register fixed "virtual" clocks that
> don't lead to any registers being altered and only exist to convey
> what the clocks look like on the hw level.. but I don't think we
> have great infra to skip that..
>
> > [ 9.122760] disp_cc-sc8280xp af00000.clock-controller: clk: Disabling unused clocks
> > [ 9.142121] qcom-qmp-combo-phy 88eb000.phy: clk: Disabling unused clocks
> > [ 9.169149] qcom-qmp-combo-phy 8903000.phy: clk: Disabling unused clocks
> > [ 16.057997] qcom-cpufreq-hw 18591000.cpufreq: clk: Disabling unused clocks
> > [ 16.058149] clk-rpmh 18200000.rsc:clock-controller: clk: Disabling unused clocks
> > [ 16.334879] qcom-qmp-pcie-phy 1c06000.phy: clk: Disabling unused clocks
> > [ 16.706113] camcc-sc8280xp ad00000.clock-controller: clk: Disabling unused clocks
> > [ 21.565731] q6prm-lpass-clock 3000000.remoteproc:glink-edge:gpr:service@2:clock-controller: clk: Disabling unused clocks
> > [ 21.597069] va_macro 3370000.codec: clk: Disabling unused clocks
> > [ 21.605039] rx_macro 3200000.rxmacro: clk: Disabling unused clocks
> > [ 21.630313] wsa_macro 3240000.codec: clk: Disabling unused clocks
> > [ 21.635069] tx_macro 3220000.txmacro: clk: Disabling unused clocks
>
> This is a bit noisy, but then it's necessary for debugging the
> related hangs. Maybe if it turns out to be a huge issue, we can
> hide it behind a _dbg() in the future.
Agreed. Personally I think we have this go in with dev_info() initially,
then after it's been there for one release, move it to dev_dbg().
> I was hoping/expecting that sync_state would completely replace the
> late initcall (which would also simplify this diff), but I'm surprised
> to learn that there's a whole bunch of clk_register(dev=NULL)
> calls in the kernel (are most of them doing it for no good reason
> by chance?)
Yes, correct there are a ton of clk drivers that use
clk_register(dev=NULL) to register clks from __init early in the boot.
My understanding of one use case is that this is needed to setup arch
timers that have a dependency on a clock.
My understanding is that lots of drivers that register clks in __init
don't need to do it from there.
Brian
next prev parent reply other threads:[~2026-06-29 15:48 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-26 16:32 [PATCH 0/4] clk: implement sync_state support Brian Masney
2026-06-26 16:32 ` [PATCH 1/4] driver: core: introduce dev_add_sync_state() Brian Masney
2026-06-29 10:11 ` Konrad Dybcio
2026-06-29 15:31 ` Brian Masney
2026-06-26 16:32 ` [PATCH 2/4] pmdomain: core: migrate to dev_add_sync_state() Brian Masney
2026-06-29 12:29 ` Konrad Dybcio
2026-06-26 16:32 ` [PATCH 3/4] driver: core: remove dev_set_drv_sync_state() Brian Masney
2026-06-26 16:32 ` [PATCH 4/4] clk: implement sync_state support Brian Masney
2026-06-29 13:44 ` Konrad Dybcio
2026-06-29 15:48 ` Brian Masney [this message]
2026-06-29 10:06 ` [PATCH 0/4] " Konrad Dybcio
2026-06-29 15:34 ` Brian Masney
-- strict thread matches above, loose matches on Subject: below --
2026-06-03 14:21 Brian Masney
2026-06-03 14:21 ` [PATCH 4/4] " Brian Masney
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=akKTviIP_rt4eRSk@redhat.com \
--to=bmasney@redhat.com \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=dakr@kernel.org \
--cc=dongxuyang@eswincomputing.com \
--cc=driver-core@lists.linux.dev \
--cc=gregkh@linuxfoundation.org \
--cc=jens.glathe@oldschoolsolutions.biz \
--cc=johannes.goede@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=linux-pm@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mripard@kernel.org \
--cc=mturquette@baylibre.com \
--cc=neil.armstrong@linaro.org \
--cc=rafael@kernel.org \
--cc=saravanak@kernel.org \
--cc=sboyd@kernel.org \
--cc=ulfh@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.