Skip to content

Commit f9f68bf

Browse files
committed
drm/rockchip: vop2: fail cleanly if missing a primary plane for a video-port
Each window of a vop2 is usable by a specific set of video ports, so while binding the vop2, we look through the list of available windows trying to find one designated as primary-plane and usable by that specific port. The code later wants to use drm_crtc_init_with_planes with that found primary plane, but nothing has checked so far if a primary plane was actually found. For whatever reason, the rk3576 vp2 does not have a usable primary window (if vp0 is also in use) which brought the issue to light and ended in a null-pointer dereference further down. As we expect a primary-plane to exist for a video-port, add a check at the end of the window-iteration and fail probing if none was found. Fixes: 604be85 ("drm/rockchip: Add VOP2 driver") Reviewed-by: Andy Yan <andy.yan@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20250610212748.1062375-1-heiko@sntech.de
1 parent 40a382a commit f9f68bf

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

drivers/gpu/drm/rockchip/rockchip_drm_vop2.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2422,6 +2422,10 @@ static int vop2_create_crtcs(struct vop2 *vop2)
24222422
break;
24232423
}
24242424
}
2425+
2426+
if (!vp->primary_plane)
2427+
return dev_err_probe(drm->dev, -ENOENT,
2428+
"no primary plane for vp %d\n", i);
24252429
}
24262430

24272431
/* Register all unused window as overlay plane */

0 commit comments

Comments
 (0)