[v3] drm: rockchip: hdmi: enable higher resolutions than FHD
Yann Dirson
yann.dirson at blade-group.com
Fri Mar 12 08:39:32 GMT 2021
(resent after subscribing, seemed stuck in moderation)
Le jeu. 11 mars 2021 à 12:08, Yann Dirson
<yann.dirson at blade-group.com> a écrit :
>
> Vicente wrote:
> > This patch series enable a QHD HDMI monitor to work at native resolution.
> > Tested on a Sapphire board with RK3399 connected to a Q27q-10 monitor at 2560x1440 at 60
>
> Which kernel did you test this patch series on ?
>
> I am trying to get this to work on our rk3999 hardware, with a Dell
> s2719dgf with 2560x1440 at 60 and 2560x1440 at 144, both of which do work
> with Rockchip's 4.4 branch.
>
> If I'm applying this patch to 5.10.18, everything breaks:
> - the newly-shown 2560x1440 mode is selected by default, but dclk_vop0
> is set to 200000 not 241500, and screen stays black
> - if I switch to 1920x1080 with xrandr I get no video output either
> - if then I request to switch back to 2560x1440, I can see dclk_vop0
> getting set back to 200000, and after a couple of seconds get
> something like the following, freezing the board:
>
> [ 97.504469] rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
> [ 98.528471] rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
> [ 99.552469] rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
> [ 100.576469] rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
> [ 101.600468] rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
> [ 101.601011] cpu cpu4: _set_opp_voltage: failed to set voltage
> (1200000 1200000 1200000 mV): -110
> [ 101.601793] cpufreq: __target_index: Failed to change cpu frequency: -110
> [ 117.496429] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
> [ 117.496975] rcu: 0-...0: (10 ticks this GP)
> idle=bf6/1/0x4000000000000002 softirq=716/718 fqs=415
> [ 117.497765] rcu: 5-...0: (6 ticks this GP)
> idle=916/1/0x4000000000000000 softirq=613/614 fqs=415
> [ 117.498547] (detected by 2, t=5252 jiffies, g=677, q=6)
>
> It also tends to cause timeouts right on boot afterwards if I don't
> leave the board unplugged for a few seconds.
>
>
> If I apply the same patch to 5.4.88, the clock rate when switching to
> 1080p gets a value you may have seen yourself given your previous
> patches, and the screen does not get the signal (and I don't even need
> to switch back to 1440p to hang the platform):
>
> root at shadow-ghost:~# cat /sys/kernel/debug/clk/dclk_vop0/clk_rate
> 148500999
> root at shadow-ghost:~# [ 60.986455] rcu: INFO: rcu_preempt detected
> stalls on CPUs/tasks:
> [ 60.987001] rcu: 0-...0: (4 ticks this GP)
> idle=2ce/1/0x4000000000000002 softirq=513/513 fqs=2625
> [ 60.987791] rcu: 2-...0: (4 ticks this GP)
> idle=862/1/0x4000000000000000 softirq=519/520 fqs=2625
> [ 60.988579] (detected by 1, t=5252 jiffies, g=529, q=1)
> [ 60.989043] Task dump for CPU 0:
> [ 60.989327] irq/40-ff940000 R running task 0 161 2 0x0000002a
> [ 60.989945] Call trace:
> [ 60.990172] __switch_to+0xd8/0x120
> [ 60.990482] __wake_up_common_lock+0x78/0xc0
> [ 60.990857] __wake_up+0x14/0x20
> [ 60.991143] netlink_broadcast_filtered+0x2f4/0x3dc
> [ 60.991570] netlink_broadcast+0x14/0x20
> [ 60.991914] 0xffff80001180bae0
> [ 60.992190] Task dump for CPU 2:
> [ 60.992472] udevd R running task 0 170 1 0x00000002
> [ 60.993088] Call trace:
> [ 60.993306] __switch_to+0xd8/0x120
> [ 60.993612] 0xffff000079a60c80
> [ 60.993889] 0xaaaafc79fcf8
> [ 60.994135] 0x65
>
>
> OTOH, if I apply the same patch to 4.19.177, I have no trouble
> switching to 1080p, and when I ask to switch back to 1440p the screen
> does get a signal, although it reports 1903x1440 50Hz, probably due to
> the clock rate getting capped to 200000.
>
> Any idea where those hangs with kernels 5.x would come from ? That
> could help cutting down bisect time on this :)
>
>
> Other experiments show that dclk_vop0 on 4.4rk gets its 241500 rate
> from vpll (via dclk_vop0_div), but on mainline vpll apparently refuses
> to provide this (proposing just 148500 instead) so it is cpll of gpll
> which gets to provide a 200000 kHz clock.
>
> What could be the reason for this ?
>
> Best regards,
> --
> Yann Dirson <yann at blade-group.com>
> Blade / Shadow -- http://shadow.tech
--
Yann Dirson <yann at blade-group.com>
Blade / Shadow -- http://shadow.tech
More information about the Linux-rockchip
mailing list