diff options
| author | Cristian Ciocaltea <cristian.ciocaltea@collabora.com> | 2026-05-04 21:23:59 +0300 |
|---|---|---|
| committer | Heiko Stuebner <heiko@sntech.de> | 2026-06-02 21:41:09 +0200 |
| commit | 9f5670802df085ad343146561e69bac43e9905d2 (patch) | |
| tree | d8fa68d8602d133517725471eb8e15a4e1583ff8 /tools/perf/scripts/python/task-analyzer.py | |
| parent | cc6d7aca2f37a1525a94ef97eb3ce361732c876c (diff) | |
drm/rockchip: vop2: Fix wrong wait target in layer cfg done check
rk3568_vop2_setup_layer_mixer() waits for the previous Video Port (VP)
layer configuration to take effect before writing a new one to the
shared RK3568_OVL_LAYER_SEL shadow register. However, it passes
vop2->old_layer_sel to rk3568_vop2_wait_for_layer_cfg_done() as the
expected value, which at that point already contains the new VP layer.
This causes the wait to poll for a value that has not been written to
the shadow register yet, resulting in spurious timeouts when two
non-blocking atomic commits race:
rockchip-drm display-subsystem: [drm] *ERROR* wait layer cfg done timeout [...]
Pass the local old_layer_sel instead, which still holds the value
captured from vop2->old_layer_sel before it was overwritten, i.e. the
previous VP target that the hardware is expected to latch.
Fixes: 3e89a8c68354 ("drm/rockchip: vop2: Fix the update of LAYER/PORT select registers when there are multi display output on rk3588/rk3568")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Andy Yan <andy.yan@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260504-vop2-layer-cfg-tmout-v1-1-730226a7331e@collabora.com
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions
