[PATCH] clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src

Heiko Stübner heiko at sntech.de
Wed Oct 15 06:27:12 PDT 2025


Am Mittwoch, 15. Oktober 2025, 14:58:46 Mitteleuropäische Sommerzeit schrieb Quentin Schulz:
> Hi Heiko,
> 
> On 10/8/25 3:31 PM, Heiko Stuebner wrote:
> > dclk_vop2_src currently has CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT
> > flags set, which is vastly different than dclk_vop0_src or dclk_vop1_src,
> > which have none of those.
> > 
> > With these flags 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
> 
> I can reproduce on the same board as yours and this fixes the issue 
> indeed (note I can only reproduce for now when display the modetest 
> pattern, otherwise after boot the console seems fine to me).

I boot into a Debian rootfs with fbcon on my system, and the serial
console produces garbled output when the vop adjusts the clock

Sometimes it recovers after a bit, but other times it doesn't

> Reviewed-by: Quentin Schulz <quentin.schulz at cherry.de>
> Tested-by: Quentin Schulz <quentin.schulz at cherry.de> # RK3588 Tiger w/ 
> DP carrierboard

Thanks for testing
Heiko





More information about the linux-arm-kernel mailing list