From c65d2fce11f7b36f075ba63a92b3c3fc4591f281 Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Tue, 22 Oct 2024 11:49:53 +0800 Subject: [PATCH] drm/rockchip: vop2: add reset vp->win_mask vp->mask must initialize correctly, otherwise after suspend and resume, the software state[vp->mask] maybe different with hardware state and lead to close win error or timeout. Signed-off-by: Sandy Huang Change-Id: Icc605878b6ac74b24dde44f7933bc761ccdcd526 --- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 9c2f8697cb2b..2031c8c5e70b 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -4154,6 +4154,10 @@ static void vop3_layer_map_initial(struct vop2 *vop2, uint32_t current_vp_id) { uint16_t vp_id; struct drm_plane *plane = NULL; + int i = 0; + + for (i = 0; i < vop2->data->nr_vps; i++) + vop2->vps[i].win_mask = 0; drm_for_each_plane(plane, vop2->drm_dev) { struct vop2_win *win = to_vop2_win(plane);