diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 3919c66bcf00..e9e3772f9980 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -7212,6 +7212,10 @@ static void vop2_dither_setup(struct rockchip_crtc_state *vcstate, struct drm_cr pre_dither_down_en = false; if (vp_data->feature & VOP_FEATURE_POST_FRC_V2 && pre_dither_down_en) { + vop2_writel(vop2, RK3576_VP0_POST_DITHER_FRC_0, 0x00000000); + vop2_writel(vop2, RK3576_VP0_POST_DITHER_FRC_1, 0x01000100); + vop2_writel(vop2, RK3576_VP0_POST_DITHER_FRC_2, 0x04030100); + VOP_MODULE_SET(vop2, vp, pre_dither_down_en, 0); VOP_MODULE_SET(vop2, vp, dither_down_en, 1);/* enable frc2.0 do 10->8 */ VOP_MODULE_SET(vop2, vp, dither_down_sel, DITHER_DOWN_FRC); diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h index 498e0edbe131..19dbfedc04f6 100644 --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h @@ -1151,6 +1151,9 @@ #define RK3568_VP0_BCSH_BCS 0xC64 #define RK3568_VP0_BCSH_H 0xC68 #define RK3568_VP0_BCSH_COLOR_BAR 0xC6C +#define RK3576_VP0_POST_DITHER_FRC_0 0xCA0 +#define RK3576_VP0_POST_DITHER_FRC_1 0xCA4 +#define RK3576_VP0_POST_DITHER_FRC_2 0xCA8 #define RK3562_VP0_MCU_CTRL 0xCF8 #define RK3562_VP0_MCU_RW_BYPASS_PORT 0xCFC