On Mon, Sep 26, 2022 at 10:16:43AM +0200, Sascha Hauer wrote: > Esmart0-win0 could serve as primary plane, so mark it as such. On > RK3568 this window will never be used as primary plane, because the > three windows at the beginning of the rk3568_vop_win_data[] array > will be used. On RK3566 however, two of the windows at the beginning > of the rk3568_vop_win_data[] array cannot not be used due to hardware > limitations, so without this patch we end up with CRTCs without primary > planes when multiple VPs are active. > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> I have been testing this for a few days and it works well for me on 2 distinct rk3566 based devices (Anbernic RG353P and Anbernic RG503). Tested-by: Chris Morgan <macromorgan@xxxxxxxxxxx> > --- > drivers/gpu/drm/rockchip/rockchip_vop2_reg.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c > index 9bf0637bf8e26..9d30aa73b5422 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c > +++ b/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c > @@ -188,7 +188,7 @@ static const struct vop2_win_data rk3568_vop_win_data[] = { > .base = 0x1800, > .layer_sel_id = 2, > .supported_rotations = DRM_MODE_REFLECT_Y, > - .type = DRM_PLANE_TYPE_OVERLAY, > + .type = DRM_PLANE_TYPE_PRIMARY, > .max_upscale_factor = 8, > .max_downscale_factor = 8, > .dly = { 20, 47, 41 }, > -- > 2.30.2 >