diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index f9f81c57dfe0..2426c0f7d6ac 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -2966,7 +2966,7 @@ static void vop_update_cabc(struct drm_crtc *crtc, VOP_CTRL_SET(vop, cabc_stage_down, s->cabc_stage_down); VOP_CTRL_SET(vop, cabc_global_dn, s->cabc_global_dn); VOP_CTRL_SET(vop, cabc_calc_pixel_num, - s->cabc_calc_pixel_num * pixel_total / 1000); + pixel_total / 1000 * s->cabc_calc_pixel_num); } else { /* * There are some hardware issues on cabc disabling: diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c index 3da6608025f1..d626acf00f10 100644 --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c @@ -240,10 +240,10 @@ static const struct vop_ctrl rk3288_ctrl_data = { 0, 3, 5, -1), .afbdc_pic_size = VOP_REG_VER(RK3399_AFBCD0_PIC_SIZE, 0xffffffff, 0, 3, 5, -1), - .cabc_config_mode = VOP_REG_VER(RK3399_CABC_CTRL0, 0x3, 1, 3, 5, -1), + .cabc_config_mode = VOP_REG_VER(RK3399_CABC_CTRL0, 0x3, 2, 3, 5, -1), .cabc_calc_pixel_num = VOP_REG_VER(RK3399_CABC_CTRL0, 0x7fffff, 4, 3, 5, -1), - .cabc_handle_en = VOP_REG_VER(RK3399_CABC_CTRL0, 0x1, 3, 3, 5, -1), + .cabc_handle_en = VOP_REG_VER(RK3399_CABC_CTRL0, 0x1, 1, 3, 5, -1), .cabc_en = VOP_REG_VER(RK3399_CABC_CTRL0, 0x1, 0, 3, 5, -1), .cabc_total_num = VOP_REG_VER(RK3399_CABC_CTRL1, 0x7fffff, 4, 3, 5, -1), .cabc_lut_en = VOP_REG_VER(RK3399_CABC_CTRL1, 0x1, 0, 3, 5, -1),