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:
parent
97b490b74e
commit
d7b8d42d2f
3 changed files with 8 additions and 0 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue