diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 563d6cfb8b8a..be3c00b3a0b7 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -3268,6 +3268,9 @@ static void vop_crtc_atomic_enable(struct drm_crtc *crtc, vop_mcu_mode(crtc); dclk_inv = (s->bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE) ? 1 : 0; + /* For improving signal quality, dclk need to be inverted by default on rv1106. */ + if ((VOP_MAJOR(vop->version) == 2 && VOP_MINOR(vop->version) == 12)) + dclk_inv = !dclk_inv; VOP_CTRL_SET(vop, dclk_pol, dclk_inv); val = (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) ?