drm/rockchip: vop: enable axi outstanding function

On some scenes, win lite area may flush with short width.

As the Technical Reference Manual description, need enable
axi outstanding function if use IOMMU.

From testing, after setting axi outstanding max number to 30
solve windows flush problem.

Change-Id: Id4ea7b5f5dae334e88cf1fb106c0b7bc6af9b8d0
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
This commit is contained in:
Mark Yao 2017-11-09 20:05:15 +08:00 committed by Tao Huang
commit d7b8d42d2f
3 changed files with 8 additions and 0 deletions

View file

@ -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.

View file

@ -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;

View file

@ -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),