diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index c21df228a9c0..6c389eb8d7cd 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -990,6 +990,8 @@ static void vop_initial(struct drm_crtc *crtc) VOP_CTRL_SET(vop, global_regdone_en, 1); VOP_CTRL_SET(vop, dsp_blank, 0); + VOP_CTRL_SET(vop, axi_outstanding_max_num, 30); + VOP_CTRL_SET(vop, axi_max_outstanding_en, 1); /* * restore the lut table. diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h index ceb8467a41b3..e483186e01c4 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h @@ -94,6 +94,8 @@ struct vop_csc { struct vop_ctrl { struct vop_reg version; struct vop_reg standby; + struct vop_reg axi_outstanding_max_num; + struct vop_reg axi_max_outstanding_en; struct vop_reg htotal_pw; struct vop_reg hact_st_end; struct vop_reg vtotal_pw; diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c index c1cd1925ccd1..39426b83b1e2 100644 --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c @@ -171,6 +171,8 @@ static const struct vop_win_phy *rk3288_area_data[] = { static const struct vop_ctrl rk3288_ctrl_data = { .version = VOP_REG(RK3288_VERSION_INFO, 0xffff, 16), .standby = VOP_REG(RK3288_SYS_CTRL, 0x1, 22), + .axi_outstanding_max_num = VOP_REG(RK3288_SYS_CTRL1, 0x1f, 13), + .axi_max_outstanding_en = VOP_REG(RK3288_SYS_CTRL1, 0x1, 12), .htotal_pw = VOP_REG(RK3288_DSP_HTOTAL_HS_END, 0x1fff1fff, 0), .hact_st_end = VOP_REG(RK3288_DSP_HACT_ST_END, 0x1fff1fff, 0), .vtotal_pw = VOP_REG(RK3288_DSP_VTOTAL_VS_END, 0x1fff1fff, 0), @@ -601,6 +603,8 @@ static const struct vop_data rk322x_vop = { static const struct vop_ctrl rk3328_ctrl_data = { .standby = VOP_REG(RK3328_SYS_CTRL, 0x1, 22), + .axi_outstanding_max_num = VOP_REG(RK3328_SYS_CTRL1, 0x1f, 13), + .axi_max_outstanding_en = VOP_REG(RK3328_SYS_CTRL1, 0x1, 12), .auto_gate_en = VOP_REG(RK3328_SYS_CTRL, 0x1, 23), .htotal_pw = VOP_REG(RK3328_DSP_HTOTAL_HS_END, 0x1fff1fff, 0), .hact_st_end = VOP_REG(RK3328_DSP_HACT_ST_END, 0x1fff1fff, 0),