* [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588
@ 2026-03-04 12:14 Heiko Stuebner
2026-03-04 12:14 ` [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src Heiko Stuebner
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Heiko Stuebner @ 2026-03-04 12:14 UTC (permalink / raw)
To: heiko
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, quentin.schulz, andyshrk,
macromorgan
The dclk for VP2 behaves differently and its use can currently break
other peripherals, so fix that and additionally allow it to drive
the same outputs.
I've kept Quentin's Tested-by from v1, as the overall change is the same
but did not transfer his Reviewed-by, as the series-structure changed.
changes in v2:
- split the actual fix for breakage and change of reparent handling
into two separate patches
Heiko Stuebner (2):
clk: rockchip: rk3588: Don't change PLL rates when setting
dclk_vop2_src
clk: rockchip: rk3588: Allow VP2 the same sourcing options as other
VPs
drivers/clk/rockchip/clk-rk3588.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--
2.47.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src
2026-03-04 12:14 [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Heiko Stuebner
@ 2026-03-04 12:14 ` Heiko Stuebner
2026-03-10 9:30 ` Quentin Schulz
2026-03-10 10:25 ` Quentin Schulz
2026-03-04 12:14 ` [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs Heiko Stuebner
` (2 subsequent siblings)
3 siblings, 2 replies; 9+ messages in thread
From: Heiko Stuebner @ 2026-03-04 12:14 UTC (permalink / raw)
To: heiko
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, quentin.schulz, andyshrk,
macromorgan, Heiko Stuebner, stable
From: Heiko Stuebner <heiko.stuebner@cherry.de>
dclk_vop2_src currently has the CLK_SET_RATE_PARENT flag set, which is
very different from dclk_vop0_src or dclk_vop1_src, which don't have it.
With this flag in dclk_vop2_src, actually setting the clock then results
in a lot of other peripherals breaking, because setting the rate results
in the PLL source getting changed:
[ 14.898718] clk_core_set_rate_nolock: setting rate for dclk_vop2 to 152840000
[ 15.155017] clk_change_rate: setting rate for pll_gpll to 1680000000
[ clk adjusting every gpll user ]
This includes possibly the other vops, i2s, spdif and even the uarts.
Among other possible things, this breaks the uart console on a board
I use. Sometimes it recovers later on, but there will be a big block
of garbled output for a while at least.
Shared PLLs should not be changed by individual users, so drop this flag
from dclk_vop2_src.
Fixes: f1c506d152ff ("clk: rockchip: add clock controller for the RK3588")
Cc: stable@vger.kernel.org
Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # RK3588 Tiger w/ DP
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
---
drivers/clk/rockchip/clk-rk3588.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/rockchip/clk-rk3588.c b/drivers/clk/rockchip/clk-rk3588.c
index 1694223f4f84..bea2deed0e23 100644
--- a/drivers/clk/rockchip/clk-rk3588.c
+++ b/drivers/clk/rockchip/clk-rk3588.c
@@ -2094,7 +2094,7 @@ static struct rockchip_clk_branch rk3588_early_clk_branches[] __initdata = {
COMPOSITE(DCLK_VOP1_SRC, "dclk_vop1_src", gpll_cpll_v0pll_aupll_p, 0,
RK3588_CLKSEL_CON(111), 14, 2, MFLAGS, 9, 5, DFLAGS,
RK3588_CLKGATE_CON(52), 11, GFLAGS),
- COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT,
+ COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT,
RK3588_CLKSEL_CON(112), 5, 2, MFLAGS, 0, 5, DFLAGS,
RK3588_CLKGATE_CON(52), 12, GFLAGS),
COMPOSITE_NODIV(DCLK_VOP0, "dclk_vop0", dclk_vop0_p,
--
2.47.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs
2026-03-04 12:14 [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Heiko Stuebner
2026-03-04 12:14 ` [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src Heiko Stuebner
@ 2026-03-04 12:14 ` Heiko Stuebner
2026-03-10 9:43 ` Quentin Schulz
2026-03-10 10:26 ` Quentin Schulz
2026-03-09 22:13 ` [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Chris Morgan
2026-07-07 9:41 ` Heiko Stuebner
3 siblings, 2 replies; 9+ messages in thread
From: Heiko Stuebner @ 2026-03-04 12:14 UTC (permalink / raw)
To: heiko
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, quentin.schulz, andyshrk,
macromorgan, Heiko Stuebner
From: Heiko Stuebner <heiko.stuebner@cherry.de>
Right now dclk_vop2_src is not allowed to change its parent, while
the other two dclks are allowed to do this.
All three VPs can drive non-static outputs (HDMI, DP, eDP) and even the
eDP can also support full DP connections (though no DP+).
Therefore remove the CLK_SET_RATE_NO_REPARENT flag, to allow VP2 the same
flexibility in aquiring its clock rate.
Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # RK3588 Tiger w/ DP
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
---
drivers/clk/rockchip/clk-rk3588.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/rockchip/clk-rk3588.c b/drivers/clk/rockchip/clk-rk3588.c
index bea2deed0e23..cf83242d1726 100644
--- a/drivers/clk/rockchip/clk-rk3588.c
+++ b/drivers/clk/rockchip/clk-rk3588.c
@@ -2094,7 +2094,7 @@ static struct rockchip_clk_branch rk3588_early_clk_branches[] __initdata = {
COMPOSITE(DCLK_VOP1_SRC, "dclk_vop1_src", gpll_cpll_v0pll_aupll_p, 0,
RK3588_CLKSEL_CON(111), 14, 2, MFLAGS, 9, 5, DFLAGS,
RK3588_CLKGATE_CON(52), 11, GFLAGS),
- COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT,
+ COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, 0,
RK3588_CLKSEL_CON(112), 5, 2, MFLAGS, 0, 5, DFLAGS,
RK3588_CLKGATE_CON(52), 12, GFLAGS),
COMPOSITE_NODIV(DCLK_VOP0, "dclk_vop0", dclk_vop0_p,
--
2.47.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588
2026-03-04 12:14 [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Heiko Stuebner
2026-03-04 12:14 ` [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src Heiko Stuebner
2026-03-04 12:14 ` [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs Heiko Stuebner
@ 2026-03-09 22:13 ` Chris Morgan
2026-07-07 9:41 ` Heiko Stuebner
3 siblings, 0 replies; 9+ messages in thread
From: Chris Morgan @ 2026-03-09 22:13 UTC (permalink / raw)
To: Heiko Stuebner
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, quentin.schulz, andyshrk
On Wed, Mar 04, 2026 at 01:14:24PM +0100, Heiko Stuebner wrote:
> The dclk for VP2 behaves differently and its use can currently break
> other peripherals, so fix that and additionally allow it to drive
> the same outputs.
>
> I've kept Quentin's Tested-by from v1, as the overall change is the same
> but did not transfer his Reviewed-by, as the series-structure changed.
>
>
> changes in v2:
> - split the actual fix for breakage and change of reparent handling
> into two separate patches
>
> Heiko Stuebner (2):
> clk: rockchip: rk3588: Don't change PLL rates when setting
> dclk_vop2_src
> clk: rockchip: rk3588: Allow VP2 the same sourcing options as other
> VPs
>
> drivers/clk/rockchip/clk-rk3588.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --
> 2.47.3
>
Tested-by: Chris Morgan <macromorgan@hotmail.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src
2026-03-04 12:14 ` [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src Heiko Stuebner
@ 2026-03-10 9:30 ` Quentin Schulz
2026-03-10 10:25 ` Quentin Schulz
1 sibling, 0 replies; 9+ messages in thread
From: Quentin Schulz @ 2026-03-10 9:30 UTC (permalink / raw)
To: Heiko Stuebner
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, andyshrk, macromorgan,
Heiko Stuebner, stable
Hi Heiko,
On 3/4/26 1:14 PM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> dclk_vop2_src currently has the CLK_SET_RATE_PARENT flag set, which is
> very different from dclk_vop0_src or dclk_vop1_src, which don't have it.
>
> With this flag in dclk_vop2_src, actually setting the clock then results
> in a lot of other peripherals breaking, because setting the rate results
> in the PLL source getting changed:
>
> [ 14.898718] clk_core_set_rate_nolock: setting rate for dclk_vop2 to 152840000
> [ 15.155017] clk_change_rate: setting rate for pll_gpll to 1680000000
> [ clk adjusting every gpll user ]
>
> This includes possibly the other vops, i2s, spdif and even the uarts.
> Among other possible things, this breaks the uart console on a board
> I use. Sometimes it recovers later on, but there will be a big block
> of garbled output for a while at least.
>
> Shared PLLs should not be changed by individual users, so drop this flag
> from dclk_vop2_src.
>
> Fixes: f1c506d152ff ("clk: rockchip: add clock controller for the RK3588")
> Cc: stable@vger.kernel.org
> Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # RK3588 Tiger w/ DP
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Thanks!
Quentin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs
2026-03-04 12:14 ` [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs Heiko Stuebner
@ 2026-03-10 9:43 ` Quentin Schulz
2026-03-10 10:26 ` Quentin Schulz
1 sibling, 0 replies; 9+ messages in thread
From: Quentin Schulz @ 2026-03-10 9:43 UTC (permalink / raw)
To: Heiko Stuebner
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, andyshrk, macromorgan,
Heiko Stuebner
Hi Heiko,
On 3/4/26 1:14 PM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Right now dclk_vop2_src is not allowed to change its parent, while
> the other two dclks are allowed to do this.
nitpick: the src dclk of the other 2 VOPs (there are other clocks named
dclk and the dclk_vopX actually all (except dclk_vop3) have
set_rate_parent and set_rate_no_reparent).
>
> All three VPs can drive non-static outputs (HDMI, DP, eDP) and even the
> eDP can also support full DP connections (though no DP+).
>
> Therefore remove the CLK_SET_RATE_NO_REPARENT flag, to allow VP2 the same
> flexibility in aquiring its clock rate.
>
nitpick: s/aquiring/acquiring/
> Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # RK3588 Tiger w/ DP
Reviewed-by: Quentin Schulz <quentin.schuz@cherry.de>
Thanks!
Quentin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src
2026-03-04 12:14 ` [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src Heiko Stuebner
2026-03-10 9:30 ` Quentin Schulz
@ 2026-03-10 10:25 ` Quentin Schulz
1 sibling, 0 replies; 9+ messages in thread
From: Quentin Schulz @ 2026-03-10 10:25 UTC (permalink / raw)
To: Heiko Stuebner
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, andyshrk, macromorgan,
Heiko Stuebner, stable
Hi Heiko,
On 3/4/26 1:14 PM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> dclk_vop2_src currently has the CLK_SET_RATE_PARENT flag set, which is
> very different from dclk_vop0_src or dclk_vop1_src, which don't have it.
>
> With this flag in dclk_vop2_src, actually setting the clock then results
> in a lot of other peripherals breaking, because setting the rate results
> in the PLL source getting changed:
>
> [ 14.898718] clk_core_set_rate_nolock: setting rate for dclk_vop2 to 152840000
> [ 15.155017] clk_change_rate: setting rate for pll_gpll to 1680000000
> [ clk adjusting every gpll user ]
>
> This includes possibly the other vops, i2s, spdif and even the uarts.
> Among other possible things, this breaks the uart console on a board
> I use. Sometimes it recovers later on, but there will be a big block
> of garbled output for a while at least.
>
> Shared PLLs should not be changed by individual users, so drop this flag
> from dclk_vop2_src.
>
> Fixes: f1c506d152ff ("clk: rockchip: add clock controller for the RK3588")
> Cc: stable@vger.kernel.org
> Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # RK3588 Tiger w/ DP
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Thanks!
Quentin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs
2026-03-04 12:14 ` [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs Heiko Stuebner
2026-03-10 9:43 ` Quentin Schulz
@ 2026-03-10 10:26 ` Quentin Schulz
1 sibling, 0 replies; 9+ messages in thread
From: Quentin Schulz @ 2026-03-10 10:26 UTC (permalink / raw)
To: Heiko Stuebner
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, andyshrk, macromorgan,
Heiko Stuebner
Hi Heiko,
On 3/4/26 1:14 PM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Right now dclk_vop2_src is not allowed to change its parent, while
> the other two dclks are allowed to do this.
nitpick: the src dclk of the other 2 VOPs (there are other clocks named
dclk and the dclk_vopX actually all (except dclk_vop3) have
set_rate_parent and set_rate_no_reparent).
>
> All three VPs can drive non-static outputs (HDMI, DP, eDP) and even the
> eDP can also support full DP connections (though no DP+).
>
> Therefore remove the CLK_SET_RATE_NO_REPARENT flag, to allow VP2 the same
> flexibility in aquiring its clock rate.
>
nitpick: s/aquiring/acquiring/
Reviewed-by: Quentin Schulz <quentin.schuz@cherry.de>
Thanks!
Quentin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588
2026-03-04 12:14 [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Heiko Stuebner
` (2 preceding siblings ...)
2026-03-09 22:13 ` [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Chris Morgan
@ 2026-07-07 9:41 ` Heiko Stuebner
3 siblings, 0 replies; 9+ messages in thread
From: Heiko Stuebner @ 2026-07-07 9:41 UTC (permalink / raw)
To: Heiko Stuebner
Cc: mturquette, sboyd, zhangqing, sebastian.reichel, linux-clk,
linux-arm-kernel, linux-kernel, quentin.schulz, andyshrk,
macromorgan
On Wed, 04 Mar 2026 13:14:24 +0100, Heiko Stuebner wrote:
> The dclk for VP2 behaves differently and its use can currently break
> other peripherals, so fix that and additionally allow it to drive
> the same outputs.
>
> I've kept Quentin's Tested-by from v1, as the overall change is the same
> but did not transfer his Reviewed-by, as the series-structure changed.
>
> [...]
Applied, thanks!
[1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src
commit: 13b10571cc353448275365ede1a5396d20dfe839
[2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs
commit: 778dd30867ad783b6903b0aa24a0ab5e97c2dff6
Best regards,
--
Heiko Stuebner <heiko@sntech.de>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-07-07 9:41 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-04 12:14 [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Heiko Stuebner
2026-03-04 12:14 ` [PATCH v2 1/2] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src Heiko Stuebner
2026-03-10 9:30 ` Quentin Schulz
2026-03-10 10:25 ` Quentin Schulz
2026-03-04 12:14 ` [PATCH v2 2/2] clk: rockchip: rk3588: Allow VP2 the same sourcing options as other VPs Heiko Stuebner
2026-03-10 9:43 ` Quentin Schulz
2026-03-10 10:26 ` Quentin Schulz
2026-03-09 22:13 ` [PATCH v2 0/2] Bring dclk_vop2 in line with other VPs on RK3588 Chris Morgan
2026-07-07 9:41 ` Heiko Stuebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome