From 709a9da20ee3e2f7c2180a43e1376886f0c869ef Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Mon, 3 Jun 2024 14:32:34 +0800 Subject: [PATCH] drm/rockchip: vop2: fix some plane may be lost If dts assigned esmart1-win0 as vp1 primary plane but vp1 is disabled, the esmart1-win0 plane may be lost. Fixes: 1568e5614d9a ("drm/rockchip: vop2: not to register crtc for inactive video port") Signed-off-by: Sandy Huang Change-Id: I13675bd0695c342bceccba224ff64a2e5dc1f9e0 --- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 04bcf57a8e94..730e215cb909 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -13157,8 +13157,10 @@ static int vop2_create_crtc(struct vop2 *vop2, uint8_t enabled_vp_mask) /* * make sure that the vp to be registered has at least one connector. */ - if (!(enabled_vp_mask & BIT(vp->id))) + if (!(enabled_vp_mask & BIT(vp->id))) { + vop2->vps[vp->id].primary_plane_phy_id = ROCKCHIP_VOP2_PHY_ID_INVALID; continue; + } /* * we assume a vp with a zero plane_mask(set from dts or bootloader)