mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] clk: qcom: gcc-qcm2290: don't park QUP RCGs upon registration
@ 2026-07-22 12:46 Dmitry Baryshkov
  2026-07-22 13:15 ` Konrad Dybcio
  2026-07-31  3:24 ` Bjorn Andersson
  0 siblings, 2 replies; 3+ messages in thread
From: Dmitry Baryshkov @ 2026-07-22 12:46 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
	Douglas Anderson
  Cc: Stephen Boyd, linux-arm-msm, linux-clk, linux-kernel

The gcc_qupv3_wrap0_s[0-5]_clk_src RCGs feed the QUP serial engines
(UART/I2C/SPI). Since shared RCGs are parked to XO at registration time,
binding the gcc-qcm2290 driver reprograms these clocks away from the
rate configured by the bootloader. For the UART used as the boot console
this drops early console output until the serial driver later
reconfigures the clock.

Switch the QUP wrap0 clock sources over to
clk_rcg2_shared_no_init_park_ops so their frequency is left unchanged at
registration time, keeping the bootloader-configured console working
across the gcc driver probe.

Fixes: 01a0a6cc8cfd ("clk: qcom: Park shared RCGs upon registration")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 drivers/clk/qcom/gcc-qcm2290.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/clk/qcom/gcc-qcm2290.c b/drivers/clk/qcom/gcc-qcm2290.c
index 6684cab63ae1..02ca37f58477 100644
--- a/drivers/clk/qcom/gcc-qcm2290.c
+++ b/drivers/clk/qcom/gcc-qcm2290.c
@@ -1082,7 +1082,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s0_clk_src_init = {
 	.name = "gcc_qupv3_wrap0_s0_clk_src",
 	.parent_data = gcc_parents_1,
 	.num_parents = ARRAY_SIZE(gcc_parents_1),
-	.ops = &clk_rcg2_shared_ops,
+	.ops = &clk_rcg2_shared_no_init_park_ops,
 };
 
 static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = {
@@ -1098,7 +1098,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s1_clk_src_init = {
 	.name = "gcc_qupv3_wrap0_s1_clk_src",
 	.parent_data = gcc_parents_1,
 	.num_parents = ARRAY_SIZE(gcc_parents_1),
-	.ops = &clk_rcg2_shared_ops,
+	.ops = &clk_rcg2_shared_no_init_park_ops,
 };
 
 static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = {
@@ -1114,7 +1114,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s2_clk_src_init = {
 	.name = "gcc_qupv3_wrap0_s2_clk_src",
 	.parent_data = gcc_parents_1,
 	.num_parents = ARRAY_SIZE(gcc_parents_1),
-	.ops = &clk_rcg2_shared_ops,
+	.ops = &clk_rcg2_shared_no_init_park_ops,
 };
 
 static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src = {
@@ -1130,7 +1130,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s3_clk_src_init = {
 	.name = "gcc_qupv3_wrap0_s3_clk_src",
 	.parent_data = gcc_parents_1,
 	.num_parents = ARRAY_SIZE(gcc_parents_1),
-	.ops = &clk_rcg2_shared_ops,
+	.ops = &clk_rcg2_shared_no_init_park_ops,
 };
 
 static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src = {
@@ -1146,7 +1146,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s4_clk_src_init = {
 	.name = "gcc_qupv3_wrap0_s4_clk_src",
 	.parent_data = gcc_parents_1,
 	.num_parents = ARRAY_SIZE(gcc_parents_1),
-	.ops = &clk_rcg2_shared_ops,
+	.ops = &clk_rcg2_shared_no_init_park_ops,
 };
 
 static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = {
@@ -1162,7 +1162,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s5_clk_src_init = {
 	.name = "gcc_qupv3_wrap0_s5_clk_src",
 	.parent_data = gcc_parents_1,
 	.num_parents = ARRAY_SIZE(gcc_parents_1),
-	.ops = &clk_rcg2_shared_ops,
+	.ops = &clk_rcg2_shared_no_init_park_ops,
 };
 
 static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = {

---
base-commit: b9810cd75b9fb56a3425d391cba3f608502bd474
change-id: 20260722-agatti-no-park-40d25a11fdb1

Best regards,
--  
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] clk: qcom: gcc-qcm2290: don't park QUP RCGs upon registration
  2026-07-22 12:46 [PATCH] clk: qcom: gcc-qcm2290: don't park QUP RCGs upon registration Dmitry Baryshkov
@ 2026-07-22 13:15 ` Konrad Dybcio
  2026-07-31  3:24 ` Bjorn Andersson
  1 sibling, 0 replies; 3+ messages in thread
From: Konrad Dybcio @ 2026-07-22 13:15 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Brian Masney, Douglas Anderson
  Cc: Stephen Boyd, linux-arm-msm, linux-clk, linux-kernel

On 7/22/26 2:46 PM, Dmitry Baryshkov wrote:
> The gcc_qupv3_wrap0_s[0-5]_clk_src RCGs feed the QUP serial engines
> (UART/I2C/SPI). Since shared RCGs are parked to XO at registration time,
> binding the gcc-qcm2290 driver reprograms these clocks away from the
> rate configured by the bootloader. For the UART used as the boot console
> this drops early console output until the serial driver later
> reconfigures the clock.
> 
> Switch the QUP wrap0 clock sources over to
> clk_rcg2_shared_no_init_park_ops so their frequency is left unchanged at
> registration time, keeping the bootloader-configured console working
> across the gcc driver probe.
> 
> Fixes: 01a0a6cc8cfd ("clk: qcom: Park shared RCGs upon registration")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---


Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] clk: qcom: gcc-qcm2290: don't park QUP RCGs upon registration
  2026-07-22 12:46 [PATCH] clk: qcom: gcc-qcm2290: don't park QUP RCGs upon registration Dmitry Baryshkov
  2026-07-22 13:15 ` Konrad Dybcio
@ 2026-07-31  3:24 ` Bjorn Andersson
  1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Andersson @ 2026-07-31  3:24 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Brian Masney, Douglas Anderson,
	Dmitry Baryshkov
  Cc: Stephen Boyd, linux-arm-msm, linux-clk, linux-kernel


On Wed, 22 Jul 2026 15:46:08 +0300, Dmitry Baryshkov wrote:
> The gcc_qupv3_wrap0_s[0-5]_clk_src RCGs feed the QUP serial engines
> (UART/I2C/SPI). Since shared RCGs are parked to XO at registration time,
> binding the gcc-qcm2290 driver reprograms these clocks away from the
> rate configured by the bootloader. For the UART used as the boot console
> this drops early console output until the serial driver later
> reconfigures the clock.
> 
> [...]

Applied, thanks!

[1/1] clk: qcom: gcc-qcm2290: don't park QUP RCGs upon registration
      commit: 9c4cee964e0ccc155e4ab8fa6cec88fffc262c63

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-31  3:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-22 12:46 [PATCH] clk: qcom: gcc-qcm2290: don't park QUP RCGs upon registration Dmitry Baryshkov
2026-07-22 13:15 ` Konrad Dybcio
2026-07-31  3:24 ` Bjorn Andersson

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®