diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 5a76bf3cd4f7..578d2848544a 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -3005,6 +3005,7 @@ static void vop_crtc_atomic_enable(struct drm_crtc *crtc, VOP_CTRL_SET(vop, bt1120_en, 1); yc_swap = is_yc_swap(s->bus_format); VOP_CTRL_SET(vop, bt1120_yc_swap, yc_swap); + VOP_CTRL_SET(vop, yuv_clip, 1); } break; case DRM_MODE_CONNECTOR_eDP: diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h index 2c51381ba047..951a87b72227 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h @@ -193,6 +193,7 @@ struct vop_ctrl { struct vop_reg sw_uv_offset_en; struct vop_reg dsp_out_yuv; struct vop_reg dsp_data_swap; + struct vop_reg yuv_clip; struct vop_reg dsp_ccir656_avg; struct vop_reg dsp_black; struct vop_reg dsp_blank; diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c index 64035fb7b370..cd4b71047337 100644 --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c @@ -1700,6 +1700,7 @@ static const struct vop_ctrl rv1126_ctrl_data = { .dither_down_mode = VOP_REG(RK3366_LIT_DSP_CTRL2, 0x1, 6), .dither_up_en = VOP_REG(RK3366_LIT_DSP_CTRL2, 0x1, 2), .dsp_data_swap = VOP_REG(RK3366_LIT_DSP_CTRL2, 0x1f, 9), + .yuv_clip = VOP_REG(RK3366_LIT_SYS_CTRL2, 0x1, 4), .dsp_ccir656_avg = VOP_REG(RK3366_LIT_SYS_CTRL2, 0x1, 5), .dsp_black = VOP_REG(RK3366_LIT_DSP_CTRL2, 0x1, 15), .dsp_blank = VOP_REG(RK3366_LIT_DSP_CTRL2, 0x1, 14),