* [PATCH 00/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
@ 2026-02-26 18:16 Brian Masney
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
` (3 more replies)
0 siblings, 4 replies; 14+ messages in thread
From: Brian Masney @ 2026-02-26 18:16 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Masney, Abel Vesa,
Andrea della Porta, Baolin Wang, Bjorn Andersson, Chanwoo Choi,
Frank Li, Geert Uytterhoeven, Krzysztof Kozlowski, Orson Zhai,
Sascha Hauer, Sudeep Holla, Sylwester Nawrocki, Tudor Ambarus,
Alim Akhtar, arm-scmi, Chunyan Zhang, Cristian Marussi,
Fabio Estevam, imx, linux-arm-kernel, linux-arm-msm,
linux-renesas-soc, linux-samsung-soc, Peng Fan,
Pengutronix Kernel Team
There are some clocks where the rounding is managed by the hardware, and
the determine_rate() clk ops is just a noop that simply returns 0. Based
on discussions with Stephen at Linux Plumbers Conference, he suggested
adding a flag for this particular case. So let's add a new flag, and
update the clk core so that the determine_rate() clk op is not required
when this flag is set.
This series adds the flag, some kunit tests, and updates all of the
relevant drivers under drivers/clk to use the new flag.
Once this is merged, and in Linus's tree, I can update the few remaining
clk drivers that are outside of drivers/clk via those subsystems at a
later time.
Merge Strategy
--------------
All of this needs to be directly merged by Stephen as one series into
his tree. Subsystem maintainers: please leave a Reviewed-by or Acked-by.
To reduce the noise, I am only CCing people on their respective drivers.
Note this series depends on 3 previously-posted patches in this git pull
to Stephen for v7.1.
https://lore.kernel.org/linux-clk/aZuK4-QJCXUeSxtL@redhat.com/
Hopefully I set the depeendencies up correctly in b4.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
Brian Masney (13):
clk: add new flag CLK_ROUNDING_FW_MANAGED
clk: test: add test suite for CLK_ROUNDING_FW_MANAGED flag
clk: rp1: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: scpi: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: hisilicon: hi3660-stub: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: imx: scu: drop redundant init.ops variable assignment
clk: imx: scu: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: qcom: rpmh: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: qcom: smd-rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: renesas: rzg2l-cpg: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: samsung: acpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
clk: sprd: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
drivers/clk/clk-rp1.c | 11 +----
drivers/clk/clk-scpi.c | 14 +-----
drivers/clk/clk.c | 24 ++++++++--
drivers/clk/clk_test.c | 85 +++++++++++++++++++++++++++++++++
drivers/clk/hisilicon/clk-hi3660-stub.c | 14 +-----
drivers/clk/imx/clk-scu.c | 23 +--------
drivers/clk/qcom/clk-rpm.c | 16 ++-----
drivers/clk/qcom/clk-rpmh.c | 8 +---
drivers/clk/qcom/clk-smd-rpm.c | 15 +-----
drivers/clk/renesas/rzg2l-cpg.c | 9 +---
drivers/clk/samsung/clk-acpm.c | 14 +-----
drivers/clk/sprd/pll.c | 7 ---
drivers/clk/sprd/pll.h | 2 +-
include/linux/clk-provider.h | 2 +
14 files changed, 123 insertions(+), 121 deletions(-)
---
base-commit: 7d6661873f6b54c75195780a40d66bad3d482d8f
change-id: 20260226-clk-det-rate-fw-managed-4b8d061f31be
prerequisite-patch-id: 59198edc95aca82a29327137ad2af82ec13295b6
prerequisite-patch-id: 8932e170649711d7a80c57784033a37faadd519b
prerequisite-patch-id: 91c7b1851c5d77e504c49ce6bf14b3f8b84e826a
Best regards,
--
Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
2026-02-26 18:16 [PATCH 00/13] clk: add new flag CLK_ROUNDING_FW_MANAGED Brian Masney
@ 2026-02-26 18:16 ` Brian Masney
2026-02-27 8:16 ` Geert Uytterhoeven
` (3 more replies)
2026-02-26 18:16 ` [PATCH 08/13] clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag Brian Masney
` (2 subsequent siblings)
3 siblings, 4 replies; 14+ messages in thread
From: Brian Masney @ 2026-02-26 18:16 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Masney, Abel Vesa,
Andrea della Porta, Baolin Wang, Bjorn Andersson, Chanwoo Choi,
Frank Li, Geert Uytterhoeven, Krzysztof Kozlowski, Orson Zhai,
Sascha Hauer, Sudeep Holla, Sylwester Nawrocki, Tudor Ambarus,
Alim Akhtar, arm-scmi, Chunyan Zhang, Cristian Marussi,
Fabio Estevam, imx, linux-arm-kernel, linux-arm-msm,
linux-renesas-soc, linux-samsung-soc, Peng Fan,
Pengutronix Kernel Team
There are some clocks where the rounding is managed by the hardware, and
the determine_rate() clk ops is just a noop that simply returns 0. Add a
new flag for these type of clocks, and update the clk core so that the
determine_rate() clk op is not required when this flag is set.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Abel Vesa <abelvesa@kernel.org>
To: Andrea della Porta <andrea.porta@suse.com>
To: Baolin Wang <baolin.wang@linux.alibaba.com>
To: Bjorn Andersson <andersson@kernel.org>
To: Chanwoo Choi <cw00.choi@samsung.com>
To: Frank Li <Frank.Li@nxp.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>
To: Krzysztof Kozlowski <krzk@kernel.org>
To: Orson Zhai <orsonzhai@gmail.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
To: Sudeep Holla <sudeep.holla@kernel.org>
To: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Tudor Ambarus <tudor.ambarus@linaro.org>
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: arm-scmi@vger.kernel.org
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Cristian Marussi <cristian.marussi@arm.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
---
drivers/clk/clk.c | 24 +++++++++++++++++++++---
include/linux/clk-provider.h | 2 ++
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index fd418dc988b1c60c49e3ac9c0c44aa132dd5da28..0a522a0817411c7f7c6e9cffd6f024e672a331a8 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1557,6 +1557,20 @@ static int __init clk_disable_unused(void)
}
late_initcall_sync(clk_disable_unused);
+/**
+ * clk_is_rounding_fw_managed - Check to see if clk rounding is handled by the
+ * firmware.
+ * @core: the clk to check
+ *
+ * Clks that have this flag enabled do not need to have a determine_rate() op
+ * set, and will always return success for any rounding operation since the
+ * firmware will deal with the rounding.
+ */
+static inline bool clk_is_rounding_fw_managed(struct clk_core *core)
+{
+ return core->flags & CLK_ROUNDING_FW_MANAGED;
+}
+
static int clk_core_determine_round_nolock(struct clk_core *core,
struct clk_rate_request *req)
{
@@ -1589,6 +1603,8 @@ static int clk_core_determine_round_nolock(struct clk_core *core,
req->rate = core->rate;
} else if (core->ops->determine_rate) {
return core->ops->determine_rate(core->hw, req);
+ } else if (clk_is_rounding_fw_managed(core)) {
+ return 0;
} else {
return -EINVAL;
}
@@ -1673,7 +1689,7 @@ EXPORT_SYMBOL_GPL(clk_hw_forward_rate_request);
static bool clk_core_can_round(struct clk_core * const core)
{
- return core->ops->determine_rate;
+ return core->ops->determine_rate || clk_is_rounding_fw_managed(core);
}
static int clk_core_round_rate_nolock(struct clk_core *core,
@@ -3528,6 +3544,7 @@ static const struct {
ENTRY(CLK_IS_CRITICAL),
ENTRY(CLK_OPS_PARENT_ENABLE),
ENTRY(CLK_DUTY_CYCLE_PARENT),
+ ENTRY(CLK_ROUNDING_FW_MANAGED),
#undef ENTRY
};
@@ -3906,7 +3923,7 @@ static int __clk_core_init(struct clk_core *core)
/* check that clk_ops are sane. See Documentation/driver-api/clk.rst */
if (core->ops->set_rate && !core->ops->determine_rate &&
- core->ops->recalc_rate) {
+ core->ops->recalc_rate && !clk_is_rounding_fw_managed(core)) {
pr_err("%s: %s must implement .determine_rate in addition to .recalc_rate\n",
__func__, core->name);
ret = -EINVAL;
@@ -3920,7 +3937,8 @@ static int __clk_core_init(struct clk_core *core)
goto out;
}
- if (core->ops->set_parent && !core->ops->determine_rate) {
+ if (core->ops->set_parent && !core->ops->determine_rate &&
+ !clk_is_rounding_fw_managed(core)) {
pr_err("%s: %s must implement .set_parent & .determine_rate\n",
__func__, core->name);
ret = -EINVAL;
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index 1cda2c78dffaff037f0f16b0f11106b63b3a746f..187f8248a9c840c701cbbba99bb7cdeef7b654ee 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -32,6 +32,8 @@
#define CLK_OPS_PARENT_ENABLE BIT(12)
/* duty cycle call may be forwarded to the parent clock */
#define CLK_DUTY_CYCLE_PARENT BIT(13)
+/* clock rate rounding is managed by firmware, don't require determine_rate */
+#define CLK_ROUNDING_FW_MANAGED BIT(14)
struct clk;
struct clk_hw;
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 08/13] clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
2026-02-26 18:16 [PATCH 00/13] clk: add new flag CLK_ROUNDING_FW_MANAGED Brian Masney
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
@ 2026-02-26 18:16 ` Brian Masney
2026-02-27 0:07 ` Dmitry Baryshkov
2026-02-26 18:16 ` [PATCH 09/13] clk: qcom: rpmh: " Brian Masney
2026-02-26 18:16 ` [PATCH 10/13] clk: qcom: smd-rpm: " Brian Masney
3 siblings, 1 reply; 14+ messages in thread
From: Brian Masney @ 2026-02-26 18:16 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Masney, Bjorn Andersson,
linux-arm-msm
This clk driver has a noop determine_rate clk op. Drop this empty
function, and enable the CLK_ROUNDING_FW_MANAGED flag.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Bjorn Andersson <andersson@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/qcom/clk-rpm.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/drivers/clk/qcom/clk-rpm.c b/drivers/clk/qcom/clk-rpm.c
index be0145631197bea65438f3bed10344f18d6de802..7875cd1815f524572f630242e3b71ff0810cdeda 100644
--- a/drivers/clk/qcom/clk-rpm.c
+++ b/drivers/clk/qcom/clk-rpm.c
@@ -42,6 +42,7 @@ static const struct clk_parent_data gcc_cxo[] = {
.name = #_name "_clk", \
.parent_data = gcc_pxo, \
.num_parents = ARRAY_SIZE(gcc_pxo), \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}; \
static struct clk_rpm clk_rpm_##_name##_a_clk = { \
@@ -54,6 +55,7 @@ static const struct clk_parent_data gcc_cxo[] = {
.name = #_name "_a_clk", \
.parent_data = gcc_pxo, \
.num_parents = ARRAY_SIZE(gcc_pxo), \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}
@@ -78,6 +80,7 @@ static const struct clk_parent_data gcc_cxo[] = {
.name = #_name "_clk", \
.parent_data = gcc_pxo, \
.num_parents = ARRAY_SIZE(gcc_pxo), \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}
@@ -351,17 +354,6 @@ static int clk_rpm_set_rate(struct clk_hw *hw,
return 0;
}
-static int clk_rpm_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * RPM handles rate rounding and we don't have a way to
- * know what the rate will be, so just return whatever
- * rate is requested.
- */
- return 0;
-}
-
static unsigned long clk_rpm_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{
@@ -383,7 +375,6 @@ static const struct clk_ops clk_rpm_xo_ops = {
static const struct clk_ops clk_rpm_fixed_ops = {
.prepare = clk_rpm_fixed_prepare,
.unprepare = clk_rpm_fixed_unprepare,
- .determine_rate = clk_rpm_determine_rate,
.recalc_rate = clk_rpm_recalc_rate,
};
@@ -391,7 +382,6 @@ static const struct clk_ops clk_rpm_ops = {
.prepare = clk_rpm_prepare,
.unprepare = clk_rpm_unprepare,
.set_rate = clk_rpm_set_rate,
- .determine_rate = clk_rpm_determine_rate,
.recalc_rate = clk_rpm_recalc_rate,
};
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 09/13] clk: qcom: rpmh: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
2026-02-26 18:16 [PATCH 00/13] clk: add new flag CLK_ROUNDING_FW_MANAGED Brian Masney
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
2026-02-26 18:16 ` [PATCH 08/13] clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag Brian Masney
@ 2026-02-26 18:16 ` Brian Masney
2026-02-27 0:12 ` Dmitry Baryshkov
2026-02-26 18:16 ` [PATCH 10/13] clk: qcom: smd-rpm: " Brian Masney
3 siblings, 1 reply; 14+ messages in thread
From: Brian Masney @ 2026-02-26 18:16 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Masney, Bjorn Andersson,
linux-arm-msm
This clk driver has a noop determine_rate clk op. Drop this empty
function, and enable the CLK_ROUNDING_FW_MANAGED flag.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Bjorn Andersson <andersson@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/qcom/clk-rpmh.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
index 547729b1a8ee01cf28c11ee8c4bd2f36d7536e6d..18fc94e6b98713e6aaf20a6d6144234f435d07a4 100644
--- a/drivers/clk/qcom/clk-rpmh.c
+++ b/drivers/clk/qcom/clk-rpmh.c
@@ -129,6 +129,7 @@ static DEFINE_MUTEX(rpmh_clk_lock);
.hw.init = &(struct clk_init_data){ \
.ops = &clk_rpmh_bcm_ops, \
.name = #_name, \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}
@@ -321,12 +322,6 @@ static int clk_rpmh_bcm_set_rate(struct clk_hw *hw, unsigned long rate,
return 0;
}
-static int clk_rpmh_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- return 0;
-}
-
static unsigned long clk_rpmh_bcm_recalc_rate(struct clk_hw *hw,
unsigned long prate)
{
@@ -339,7 +334,6 @@ static const struct clk_ops clk_rpmh_bcm_ops = {
.prepare = clk_rpmh_bcm_prepare,
.unprepare = clk_rpmh_bcm_unprepare,
.set_rate = clk_rpmh_bcm_set_rate,
- .determine_rate = clk_rpmh_determine_rate,
.recalc_rate = clk_rpmh_bcm_recalc_rate,
};
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 10/13] clk: qcom: smd-rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
2026-02-26 18:16 [PATCH 00/13] clk: add new flag CLK_ROUNDING_FW_MANAGED Brian Masney
` (2 preceding siblings ...)
2026-02-26 18:16 ` [PATCH 09/13] clk: qcom: rpmh: " Brian Masney
@ 2026-02-26 18:16 ` Brian Masney
2026-02-27 0:13 ` Dmitry Baryshkov
3 siblings, 1 reply; 14+ messages in thread
From: Brian Masney @ 2026-02-26 18:16 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Masney, Bjorn Andersson,
linux-arm-msm
This clk driver has a noop determine_rate clk op. Drop this empty
function, and enable the CLK_ROUNDING_FW_MANAGED flag.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Bjorn Andersson <andersson@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/qcom/clk-smd-rpm.c | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/drivers/clk/qcom/clk-smd-rpm.c b/drivers/clk/qcom/clk-smd-rpm.c
index 103db984a40b950bd33fba668a292be46af6326e..96af781195a23d8b56e2b977811a3304a452e1cb 100644
--- a/drivers/clk/qcom/clk-smd-rpm.c
+++ b/drivers/clk/qcom/clk-smd-rpm.c
@@ -35,6 +35,7 @@
.name = "xo_board", \
}, \
.num_parents = 1, \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}; \
static struct clk_smd_rpm clk_smd_rpm_##_prefix##_active = { \
@@ -52,7 +53,7 @@
.name = "xo_board", \
}, \
.num_parents = 1, \
- .flags = (ao_flags), \
+ .flags = (CLK_ROUNDING_FW_MANAGED | (ao_flags)), \
}, \
}
@@ -370,17 +371,6 @@ static int clk_smd_rpm_set_rate(struct clk_hw *hw, unsigned long rate,
return 0;
}
-static int clk_smd_rpm_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * RPM handles rate rounding and we don't have a way to
- * know what the rate will be, so just return whatever
- * rate is requested.
- */
- return 0;
-}
-
static unsigned long clk_smd_rpm_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{
@@ -427,7 +417,6 @@ static const struct clk_ops clk_smd_rpm_ops = {
.prepare = clk_smd_rpm_prepare,
.unprepare = clk_smd_rpm_unprepare,
.set_rate = clk_smd_rpm_set_rate,
- .determine_rate = clk_smd_rpm_determine_rate,
.recalc_rate = clk_smd_rpm_recalc_rate,
};
--
2.53.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 08/13] clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
2026-02-26 18:16 ` [PATCH 08/13] clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag Brian Masney
@ 2026-02-27 0:07 ` Dmitry Baryshkov
0 siblings, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-02-27 0:07 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-kernel,
Bjorn Andersson, linux-arm-msm
On Thu, Feb 26, 2026 at 01:16:52PM -0500, Brian Masney wrote:
> This clk driver has a noop determine_rate clk op. Drop this empty
> function, and enable the CLK_ROUNDING_FW_MANAGED flag.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
>
> ---
> To: Bjorn Andersson <andersson@kernel.org>
> To: Michael Turquette <mturquette@baylibre.com>
> To: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: linux-clk@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/clk/qcom/clk-rpm.c | 16 +++-------------
> 1 file changed, 3 insertions(+), 13 deletions(-)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 09/13] clk: qcom: rpmh: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
2026-02-26 18:16 ` [PATCH 09/13] clk: qcom: rpmh: " Brian Masney
@ 2026-02-27 0:12 ` Dmitry Baryshkov
0 siblings, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-02-27 0:12 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-kernel,
Bjorn Andersson, linux-arm-msm
On Thu, Feb 26, 2026 at 01:16:53PM -0500, Brian Masney wrote:
> This clk driver has a noop determine_rate clk op. Drop this empty
> function, and enable the CLK_ROUNDING_FW_MANAGED flag.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
>
> ---
> To: Bjorn Andersson <andersson@kernel.org>
> To: Michael Turquette <mturquette@baylibre.com>
> To: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: linux-clk@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/clk/qcom/clk-rpmh.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 10/13] clk: qcom: smd-rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag
2026-02-26 18:16 ` [PATCH 10/13] clk: qcom: smd-rpm: " Brian Masney
@ 2026-02-27 0:13 ` Dmitry Baryshkov
0 siblings, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2026-02-27 0:13 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-kernel,
Bjorn Andersson, linux-arm-msm
On Thu, Feb 26, 2026 at 01:16:54PM -0500, Brian Masney wrote:
> This clk driver has a noop determine_rate clk op. Drop this empty
> function, and enable the CLK_ROUNDING_FW_MANAGED flag.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
>
> ---
> To: Bjorn Andersson <andersson@kernel.org>
> To: Michael Turquette <mturquette@baylibre.com>
> To: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: linux-clk@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/clk/qcom/clk-smd-rpm.c | 15 ++-------------
> 1 file changed, 2 insertions(+), 13 deletions(-)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
@ 2026-02-27 8:16 ` Geert Uytterhoeven
2026-02-27 8:57 ` Biju Das
2026-02-27 12:00 ` Biju Das
` (2 subsequent siblings)
3 siblings, 1 reply; 14+ messages in thread
From: Geert Uytterhoeven @ 2026-02-27 8:16 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-kernel,
Abel Vesa, Andrea della Porta, Baolin Wang, Bjorn Andersson,
Chanwoo Choi, Frank Li, Geert Uytterhoeven, Krzysztof Kozlowski,
Orson Zhai, Sascha Hauer, Sudeep Holla, Sylwester Nawrocki,
Tudor Ambarus, Alim Akhtar, arm-scmi, Chunyan Zhang,
Cristian Marussi, Fabio Estevam, imx, linux-arm-kernel,
linux-arm-msm, linux-renesas-soc, linux-samsung-soc, Peng Fan,
Pengutronix Kernel Team
Hi Brian,
Thanks for your patch!
On Thu, 26 Feb 2026 at 19:17, Brian Masney <bmasney@redhat.com> wrote:
> There are some clocks where the rounding is managed by the hardware, and
s/hardware/firmware/
You got me totally confused, also/especially in the cover letter! ;-)
> the determine_rate() clk ops is just a noop that simply returns 0. Add a
> new flag for these type of clocks, and update the clk core so that the
> determine_rate() clk op is not required when this flag is set.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
2026-02-27 8:16 ` Geert Uytterhoeven
@ 2026-02-27 8:57 ` Biju Das
0 siblings, 0 replies; 14+ messages in thread
From: Biju Das @ 2026-02-27 8:57 UTC (permalink / raw)
To: geert, Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org, Abel Vesa, Andrea della Porta,
Baolin Wang, Bjorn Andersson, Chanwoo Choi, Frank Li,
Geert Uytterhoeven, Krzysztof Kozlowski, Orson Zhai, Sascha Hauer,
Sudeep Holla, Sylwester Nawrocki, Tudor Ambarus, Alim Akhtar,
arm-scmi@vger.kernel.org, Chunyan Zhang, Cristian Marussi,
Fabio Estevam, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, Peng Fan,
Pengutronix Kernel Team
Thanks, I will test and provide the feedback.
Cheers,
Biju
> -----Original Message-----
> From: linux-arm-kernel <linux-arm-kernel-bounces@lists.infradead.org> On Behalf Of Geert Uytterhoeven
> Sent: 27 February 2026 08:17
> Subject: Re: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
>
> Hi Brian,
>
> Thanks for your patch!
>
> On Thu, 26 Feb 2026 at 19:17, Brian Masney <bmasney@redhat.com> wrote:
> > There are some clocks where the rounding is managed by the hardware,
> > and
>
> s/hardware/firmware/
>
> You got me totally confused, also/especially in the cover letter! ;-)
>
> > the determine_rate() clk ops is just a noop that simply returns 0. Add
> > a new flag for these type of clocks, and update the clk core so that
> > the
> > determine_rate() clk op is not required when this flag is set.
> >
> > Signed-off-by: Brian Masney <bmasney@redhat.com>
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But when I'm talking to
> journalists I just say "programmer" or something like that.
> -- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
2026-02-27 8:16 ` Geert Uytterhoeven
@ 2026-02-27 12:00 ` Biju Das
2026-02-27 14:44 ` Brian Masney
2026-02-27 16:38 ` Brian Masney
2026-03-02 11:27 ` Sudeep Holla
3 siblings, 1 reply; 14+ messages in thread
From: Biju Das @ 2026-02-27 12:00 UTC (permalink / raw)
To: Brian Masney, Michael Turquette, Stephen Boyd
Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
Abel Vesa, Andrea della Porta, Baolin Wang, Bjorn Andersson,
Chanwoo Choi, Frank Li, Geert Uytterhoeven, Krzysztof Kozlowski,
Orson Zhai, Sascha Hauer, Sudeep Holla, Sylwester Nawrocki,
Tudor Ambarus, Alim Akhtar, arm-scmi@vger.kernel.org,
Chunyan Zhang, Cristian Marussi, Fabio Estevam,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, Peng Fan,
Pengutronix Kernel Team
Hi Brain,
Thanks for the patch
> -----Original Message-----
> From: linux-arm-kernel <linux-arm-kernel-bounces@lists.infradead.org> On Behalf Of Brian Masney
> Sent: 26 February 2026 18:17
> Subject: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
>
> There are some clocks where the rounding is managed by the hardware, and the determine_rate() clk ops
> is just a noop that simply returns 0. Add a new flag for these type of clocks, and update the clk core
> so that the
> determine_rate() clk op is not required when this flag is set.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
>
> ---
> To: Michael Turquette <mturquette@baylibre.com>
> To: Stephen Boyd <sboyd@kernel.org>
> To: Abel Vesa <abelvesa@kernel.org>
> To: Andrea della Porta <andrea.porta@suse.com>
> To: Baolin Wang <baolin.wang@linux.alibaba.com>
> To: Bjorn Andersson <andersson@kernel.org>
> To: Chanwoo Choi <cw00.choi@samsung.com>
> To: Frank Li <Frank.Li@nxp.com>
> To: Geert Uytterhoeven <geert+renesas@glider.be>
> To: Krzysztof Kozlowski <krzk@kernel.org>
> To: Orson Zhai <orsonzhai@gmail.com>
> To: Sascha Hauer <s.hauer@pengutronix.de>
> To: Sudeep Holla <sudeep.holla@kernel.org>
> To: Sylwester Nawrocki <s.nawrocki@samsung.com>
> To: Tudor Ambarus <tudor.ambarus@linaro.org>
> Cc: linux-clk@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: arm-scmi@vger.kernel.org
> Cc: Chunyan Zhang <zhang.lyra@gmail.com>
> Cc: Cristian Marussi <cristian.marussi@arm.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: imx@lists.linux.dev
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-arm-msm@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> ---
> drivers/clk/clk.c | 24 +++++++++++++++++++++---
> include/linux/clk-provider.h | 2 ++
> 2 files changed, 23 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index
> fd418dc988b1c60c49e3ac9c0c44aa132dd5da28..0a522a0817411c7f7c6e9cffd6f024e672a331a8 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -1557,6 +1557,20 @@ static int __init clk_disable_unused(void) }
> late_initcall_sync(clk_disable_unused);
>
> +/**
> + * clk_is_rounding_fw_managed - Check to see if clk rounding is handled
> +by the
> + * firmware.
> + * @core: the clk to check
> + *
> + * Clks that have this flag enabled do not need to have a
> +determine_rate() op
> + * set, and will always return success for any rounding operation since
> +the
> + * firmware will deal with the rounding.
> + */
> +static inline bool clk_is_rounding_fw_managed(struct clk_core *core) {
> + return core->flags & CLK_ROUNDING_FW_MANAGED; }
> +
> static int clk_core_determine_round_nolock(struct clk_core *core,
> struct clk_rate_request *req)
> {
> @@ -1589,6 +1603,8 @@ static int clk_core_determine_round_nolock(struct clk_core *core,
> req->rate = core->rate;
> } else if (core->ops->determine_rate) {
> return core->ops->determine_rate(core->hw, req);
> + } else if (clk_is_rounding_fw_managed(core)) {
> + return 0;
> } else {
> return -EINVAL;
> }
> @@ -1673,7 +1689,7 @@ EXPORT_SYMBOL_GPL(clk_hw_forward_rate_request);
>
> static bool clk_core_can_round(struct clk_core * const core) {
> - return core->ops->determine_rate;
> + return core->ops->determine_rate || clk_is_rounding_fw_managed(core);
> }
>
> static int clk_core_round_rate_nolock(struct clk_core *core, @@ -3528,6 +3544,7 @@ static const
> struct {
> ENTRY(CLK_IS_CRITICAL),
> ENTRY(CLK_OPS_PARENT_ENABLE),
> ENTRY(CLK_DUTY_CYCLE_PARENT),
> + ENTRY(CLK_ROUNDING_FW_MANAGED),
> #undef ENTRY
> };
>
> @@ -3906,7 +3923,7 @@ static int __clk_core_init(struct clk_core *core)
>
> /* check that clk_ops are sane. See Documentation/driver-api/clk.rst */
> if (core->ops->set_rate && !core->ops->determine_rate &&
> - core->ops->recalc_rate) {
> + core->ops->recalc_rate && !clk_is_rounding_fw_managed(core)) {
> pr_err("%s: %s must implement .determine_rate in addition to .recalc_rate\n",
> __func__, core->name);
> ret = -EINVAL;
> @@ -3920,7 +3937,8 @@ static int __clk_core_init(struct clk_core *core)
> goto out;
> }
>
> - if (core->ops->set_parent && !core->ops->determine_rate) {
> + if (core->ops->set_parent && !core->ops->determine_rate &&
> + !clk_is_rounding_fw_managed(core)) {
> pr_err("%s: %s must implement .set_parent & .determine_rate\n",
> __func__, core->name);
> ret = -EINVAL;
After applying patch#11, I get a message as you removed .determine_rate, Also it breaks display.
[ 0.096414] __clk_core_init: .pll5_foutpostdiv must implement .round_rate or .determine_rate in addition to .recalc_rate
Cheers,
Biju
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
2026-02-27 12:00 ` Biju Das
@ 2026-02-27 14:44 ` Brian Masney
0 siblings, 0 replies; 14+ messages in thread
From: Brian Masney @ 2026-02-27 14:44 UTC (permalink / raw)
To: Biju Das
Cc: Michael Turquette, Stephen Boyd, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org, Abel Vesa, Andrea della Porta,
Baolin Wang, Bjorn Andersson, Chanwoo Choi, Frank Li,
Geert Uytterhoeven, Krzysztof Kozlowski, Orson Zhai, Sascha Hauer,
Sudeep Holla, Sylwester Nawrocki, Tudor Ambarus, Alim Akhtar,
arm-scmi@vger.kernel.org, Chunyan Zhang, Cristian Marussi,
Fabio Estevam, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, Peng Fan,
Pengutronix Kernel Team
On Fri, Feb 27, 2026 at 12:00:55PM +0000, Biju Das wrote:
> > -----Original Message-----
> > From: linux-arm-kernel <linux-arm-kernel-bounces@lists.infradead.org> On Behalf Of Brian Masney
> > Sent: 26 February 2026 18:17
> > Subject: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
> >
> > There are some clocks where the rounding is managed by the hardware, and the determine_rate() clk ops
> > is just a noop that simply returns 0. Add a new flag for these type of clocks, and update the clk core
> > so that the
> > determine_rate() clk op is not required when this flag is set.
> >
> > Signed-off-by: Brian Masney <bmasney@redhat.com>
> >
[snip]
> > drivers/clk/clk.c | 24 +++++++++++++++++++++---
> > include/linux/clk-provider.h | 2 ++
> > 2 files changed, 23 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index
> > fd418dc988b1c60c49e3ac9c0c44aa132dd5da28..0a522a0817411c7f7c6e9cffd6f024e672a331a8 100644
> > --- a/drivers/clk/clk.c
> > +++ b/drivers/clk/clk.c
> > @@ -1557,6 +1557,20 @@ static int __init clk_disable_unused(void) }
> > late_initcall_sync(clk_disable_unused);
> >
> > +/**
> > + * clk_is_rounding_fw_managed - Check to see if clk rounding is handled
> > +by the
> > + * firmware.
> > + * @core: the clk to check
> > + *
> > + * Clks that have this flag enabled do not need to have a
> > +determine_rate() op
> > + * set, and will always return success for any rounding operation since
> > +the
> > + * firmware will deal with the rounding.
> > + */
> > +static inline bool clk_is_rounding_fw_managed(struct clk_core *core) {
> > + return core->flags & CLK_ROUNDING_FW_MANAGED; }
> > +
> > static int clk_core_determine_round_nolock(struct clk_core *core,
> > struct clk_rate_request *req)
> > {
> > @@ -1589,6 +1603,8 @@ static int clk_core_determine_round_nolock(struct clk_core *core,
> > req->rate = core->rate;
> > } else if (core->ops->determine_rate) {
> > return core->ops->determine_rate(core->hw, req);
> > + } else if (clk_is_rounding_fw_managed(core)) {
> > + return 0;
> > } else {
> > return -EINVAL;
> > }
> > @@ -1673,7 +1689,7 @@ EXPORT_SYMBOL_GPL(clk_hw_forward_rate_request);
> >
> > static bool clk_core_can_round(struct clk_core * const core) {
> > - return core->ops->determine_rate;
> > + return core->ops->determine_rate || clk_is_rounding_fw_managed(core);
> > }
> >
> > static int clk_core_round_rate_nolock(struct clk_core *core, @@ -3528,6 +3544,7 @@ static const
> > struct {
> > ENTRY(CLK_IS_CRITICAL),
> > ENTRY(CLK_OPS_PARENT_ENABLE),
> > ENTRY(CLK_DUTY_CYCLE_PARENT),
> > + ENTRY(CLK_ROUNDING_FW_MANAGED),
> > #undef ENTRY
> > };
> >
> > @@ -3906,7 +3923,7 @@ static int __clk_core_init(struct clk_core *core)
> >
> > /* check that clk_ops are sane. See Documentation/driver-api/clk.rst */
> > if (core->ops->set_rate && !core->ops->determine_rate &&
> > - core->ops->recalc_rate) {
> > + core->ops->recalc_rate && !clk_is_rounding_fw_managed(core)) {
> > pr_err("%s: %s must implement .determine_rate in addition to .recalc_rate\n",
> > __func__, core->name);
> > ret = -EINVAL;
> > @@ -3920,7 +3937,8 @@ static int __clk_core_init(struct clk_core *core)
> > goto out;
> > }
> >
> > - if (core->ops->set_parent && !core->ops->determine_rate) {
> > + if (core->ops->set_parent && !core->ops->determine_rate &&
> > + !clk_is_rounding_fw_managed(core)) {
>
> > pr_err("%s: %s must implement .set_parent & .determine_rate\n",
> > __func__, core->name);
> > ret = -EINVAL;
>
>
> After applying patch#11, I get a message as you removed .determine_rate, Also it breaks display.
>
> [ 0.096414] __clk_core_init: .pll5_foutpostdiv must implement .round_rate or .determine_rate in addition to .recalc_rate
Thanks for testing. This happens because rzg2l_cpg_pll_clk_register()
doesn't have the new flag set. I'll fix this, and go through all of the
others again just to make sure I don't miss any others.
Brian
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
2026-02-27 8:16 ` Geert Uytterhoeven
2026-02-27 12:00 ` Biju Das
@ 2026-02-27 16:38 ` Brian Masney
2026-03-02 11:27 ` Sudeep Holla
3 siblings, 0 replies; 14+ messages in thread
From: Brian Masney @ 2026-02-27 16:38 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Abel Vesa, Andrea della Porta,
Baolin Wang, Bjorn Andersson, Chanwoo Choi, Frank Li,
Geert Uytterhoeven, Krzysztof Kozlowski, Orson Zhai, Sascha Hauer,
Sudeep Holla, Sylwester Nawrocki, Tudor Ambarus, Alim Akhtar,
arm-scmi, Chunyan Zhang, Cristian Marussi, Fabio Estevam, imx,
linux-arm-kernel, linux-arm-msm, linux-renesas-soc,
linux-samsung-soc, Peng Fan, Pengutronix Kernel Team, Biju Das
On Thu, Feb 26, 2026 at 01:16:45PM -0500, Brian Masney wrote:
> There are some clocks where the rounding is managed by the hardware, and
> the determine_rate() clk ops is just a noop that simply returns 0. Add a
> new flag for these type of clocks, and update the clk core so that the
> determine_rate() clk op is not required when this flag is set.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
>
...
> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
> index 1cda2c78dffaff037f0f16b0f11106b63b3a746f..187f8248a9c840c701cbbba99bb7cdeef7b654ee 100644
> --- a/include/linux/clk-provider.h
> +++ b/include/linux/clk-provider.h
> @@ -32,6 +32,8 @@
> #define CLK_OPS_PARENT_ENABLE BIT(12)
> /* duty cycle call may be forwarded to the parent clock */
> #define CLK_DUTY_CYCLE_PARENT BIT(13)
> +/* clock rate rounding is managed by firmware, don't require determine_rate */
> +#define CLK_ROUNDING_FW_MANAGED BIT(14)
Based on a conversation in the Renesas driver change, I think we should
rename this flag to CLK_ROUNDING_NOOP. Let me know if there are any
objections, or suggestions for a better name. I'll let let this sit out
there for about a week or so before sending a v2.
Brian
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 01/13] clk: add new flag CLK_ROUNDING_FW_MANAGED
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
` (2 preceding siblings ...)
2026-02-27 16:38 ` Brian Masney
@ 2026-03-02 11:27 ` Sudeep Holla
3 siblings, 0 replies; 14+ messages in thread
From: Sudeep Holla @ 2026-03-02 11:27 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk, Sudeep Holla,
linux-kernel, Abel Vesa, Andrea della Porta, Baolin Wang,
Bjorn Andersson, Chanwoo Choi, Frank Li, Geert Uytterhoeven,
Krzysztof Kozlowski, Orson Zhai, Sascha Hauer, Sylwester Nawrocki,
Tudor Ambarus, Alim Akhtar, arm-scmi, Chunyan Zhang,
Cristian Marussi, Fabio Estevam, imx, linux-arm-kernel,
linux-arm-msm, linux-renesas-soc, linux-samsung-soc, Peng Fan,
Pengutronix Kernel Team
On Thu, Feb 26, 2026 at 01:16:45PM -0500, Brian Masney wrote:
> There are some clocks where the rounding is managed by the hardware, and
> the determine_rate() clk ops is just a noop that simply returns 0. Add a
> new flag for these type of clocks, and update the clk core so that the
> determine_rate() clk op is not required when this flag is set.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
>
Acked-by: Sudeep Holla <sudeep.holla@kernel.org>
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-03-02 11:27 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-26 18:16 [PATCH 00/13] clk: add new flag CLK_ROUNDING_FW_MANAGED Brian Masney
2026-02-26 18:16 ` [PATCH 01/13] " Brian Masney
2026-02-27 8:16 ` Geert Uytterhoeven
2026-02-27 8:57 ` Biju Das
2026-02-27 12:00 ` Biju Das
2026-02-27 14:44 ` Brian Masney
2026-02-27 16:38 ` Brian Masney
2026-03-02 11:27 ` Sudeep Holla
2026-02-26 18:16 ` [PATCH 08/13] clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag Brian Masney
2026-02-27 0:07 ` Dmitry Baryshkov
2026-02-26 18:16 ` [PATCH 09/13] clk: qcom: rpmh: " Brian Masney
2026-02-27 0:12 ` Dmitry Baryshkov
2026-02-26 18:16 ` [PATCH 10/13] clk: qcom: smd-rpm: " Brian Masney
2026-02-27 0:13 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox