]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/rockchip: vop2: Only wait for changed layer cfg done when there is pending cfgdon...
authorAndy Yan <andy.yan@rock-chips.com>
Fri, 18 Jul 2025 06:41:14 +0000 (14:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Jan 2026 10:21:14 +0000 (11:21 +0100)
commit9a88b6c3c8695b708fd83523b3fe5a93e82ef7a4
tree823c50fcfed5aca0b301ce7f0cc1631e4eee0652
parent47244c00bc5456d57c2e4d2d82ab4e52adf050cc
drm/rockchip: vop2: Only wait for changed layer cfg done when there is pending cfgdone bits

[ Upstream commit 7f6721b767e219343cfe9a894f5bd869ff5b9d3a ]

The write of cfgdone bits always done at .atomic_flush.
When userspace makes plane zpos changes of two crtc within one commit,
at the .atomic_begin stage, crtcN will never receive the "layer change
cfg done" event of crtcM because crtcM has not yet written "cfgdone".
So only wait when there is pending cfgdone bits to avoid long timeout.

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: Andy Yan <andy.yan@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20250718064120.8811-2-andyshrk@163.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/rockchip/rockchip_vop2_reg.c