From bff67105e4f88981019730677bbdb561c6184cb8 Mon Sep 17 00:00:00 2001 From: Andy Yan Date: Sat, 28 Nov 2020 20:17:04 +0800 Subject: [PATCH] drm/rockchip: vop2: Fix a setting of port mux value When there is no layer attach to a port, the por_mux should set to zero. Change-Id: I880c3ff4ce8cac8ee41bdc7e6666d13796357cc6 Signed-off-by: Andy Yan --- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index f175eb6e4da5..e56f77276420 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -3120,6 +3120,7 @@ static void vop2_setup_layer_mixer_for_vp(struct vop2_video_port *vp, struct vop2_win *win; struct vop2_layer *layer; u8 used_layers = 0; + u8 port_mux; u8 layer_id, win_phys_id; int i; @@ -3140,7 +3141,11 @@ static void vop2_setup_layer_mixer_for_vp(struct vop2_video_port *vp, * VP0 should change at VP1's commit. */ prev_vp = &vop2->vps[i]; - VOP_MODULE_SET(vop2, prev_vp, port_mux, (used_layers - 1)); + if (used_layers == 0) + port_mux = 8; + else + port_mux = used_layers - 1; + VOP_MODULE_SET(vop2, prev_vp, port_mux, port_mux); } /*