From: Brian Masney <bmasney@redhat.com>
To: Saravana Kannan <saravanak@kernel.org>,
Abel Vesa <abelvesa@kernel.org>,
Maxime Ripard <mripard@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Russell King <linux@armlinux.org.uk>,
Bjorn Andersson <andersson@kernel.org>,
Hans de Goede <johannes.goede@oss.qualcomm.com>,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, Brian Masney <bmasney@redhat.com>,
Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Subject: [PATCH v2 0/5] clk: implement sync_state support
Date: Tue, 16 Jun 2026 17:09:42 -0400 [thread overview]
Message-ID: <20260616-clk-sync-state-v2-0-15f82c64d95c@redhat.com> (raw)
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.
This series:
- Adds a generic clk_sync_state() callback that's initially empty.
- Adds a generic qcom_cc_sync_state() for qcom SoCs that need to
interact with the Interconnect framework.
- Converts the 7 qcom drivers from using icc_sync_state() to
qcom_cc_sync_state().
- Implement the framework-level sync state via clk_sync_state().
This approach maintains bisectability.
Changes in v2:
- Split out clk-cbf-8996.c into it's own patch, and don't call
qcom_cc_sync_state().
- Clarify comment above call to dev_set_drv_sync_state() about
the -EBUSY.
- Added Tested-by from Jens
- Link to v1: https://lore.kernel.org/r/20260603-clk-sync-state-v1-0-457120eed200@redhat.com
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
Brian Masney (5):
clk: introduce stub clk_sync_state()
clk: qcom: common: introduce qcom_cc_sync_state()
clk: qcom: convert from icc_sync_state() to qcom_cc_sync_state()
clk: qcom: cbf-8996: add clk_sync_state() call
clk: implement sync_state support
drivers/clk/clk.c | 76 +++++++++++++++++++++++++++++++++-------
drivers/clk/qcom/apss-ipq5424.c | 3 +-
drivers/clk/qcom/clk-cbf-8996.c | 8 +++--
drivers/clk/qcom/common.c | 9 +++++
drivers/clk/qcom/common.h | 1 +
drivers/clk/qcom/gcc-ipq5332.c | 3 +-
drivers/clk/qcom/gcc-ipq5424.c | 3 +-
drivers/clk/qcom/gcc-ipq9574.c | 3 +-
drivers/clk/qcom/nsscc-ipq5424.c | 3 +-
drivers/clk/qcom/nsscc-ipq9574.c | 3 +-
include/linux/clk.h | 14 ++++++++
11 files changed, 100 insertions(+), 26 deletions(-)
---
base-commit: 08484c504b55a98bd100527fbe10a3caf55ff3ff
change-id: 20260602-clk-sync-state-c0539c5530f4
Best regards,
--
Brian Masney <bmasney@redhat.com>
next reply other threads:[~2026-06-16 21:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-16 21:09 Brian Masney [this message]
2026-06-16 21:09 ` [PATCH v2 1/5] clk: introduce stub clk_sync_state() Brian Masney
2026-06-16 21:09 ` [PATCH v2 2/5] clk: qcom: common: introduce qcom_cc_sync_state() Brian Masney
2026-06-25 9:44 ` Konrad Dybcio
2026-06-25 11:38 ` Brian Masney
2026-06-25 12:19 ` Konrad Dybcio
2026-06-25 13:25 ` Brian Masney
2026-06-16 21:09 ` [PATCH v2 3/5] clk: qcom: convert from icc_sync_state() to qcom_cc_sync_state() Brian Masney
2026-06-25 9:44 ` Konrad Dybcio
2026-06-16 21:09 ` [PATCH v2 4/5] clk: qcom: cbf-8996: add clk_sync_state() call Brian Masney
2026-06-25 9:38 ` Konrad Dybcio
2026-06-16 21:09 ` [PATCH v2 5/5] clk: implement sync_state support Brian Masney
2026-06-17 9:25 ` [PATCH " dongxuyang
2026-06-29 18:37 ` Krzysztof Kozlowski
2026-06-30 8:57 ` Xuyang Dong
2026-06-30 9:01 ` Krzysztof Kozlowski
2026-06-17 14:24 ` [PATCH v2 " Ulf Hansson
2026-06-17 15:02 ` Brian Masney
2026-06-17 15:29 ` Ulf Hansson
2026-06-18 21:12 ` Brian Masney
2026-06-22 10:35 ` Konrad Dybcio
2026-06-22 14:45 ` Brian Masney
2026-06-17 8:10 ` [PATCH v2 0/5] " Neil Armstrong
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=20260616-clk-sync-state-v2-0-15f82c64d95c@redhat.com \
--to=bmasney@redhat.com \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--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@armlinux.org.uk \
--cc=mripard@kernel.org \
--cc=mturquette@baylibre.com \
--cc=saravanak@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®