Merge "msm: mdss: enable VBIF write_gather for WB2"
This commit is contained in:
commit
43f14d2d08
4 changed files with 11 additions and 0 deletions
|
@ -191,6 +191,7 @@ enum mdss_qos_settings {
|
||||||
MDSS_QOS_TS_PREFILL,
|
MDSS_QOS_TS_PREFILL,
|
||||||
MDSS_QOS_REMAPPER,
|
MDSS_QOS_REMAPPER,
|
||||||
MDSS_QOS_IB_NOCR,
|
MDSS_QOS_IB_NOCR,
|
||||||
|
MDSS_QOS_WB2_WRITE_GATHER_EN,
|
||||||
MDSS_QOS_MAX,
|
MDSS_QOS_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1984,6 +1984,7 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata)
|
||||||
set_bit(MDSS_QOS_SIMPLIFIED_PREFILL, mdata->mdss_qos_map);
|
set_bit(MDSS_QOS_SIMPLIFIED_PREFILL, mdata->mdss_qos_map);
|
||||||
set_bit(MDSS_QOS_TS_PREFILL, mdata->mdss_qos_map);
|
set_bit(MDSS_QOS_TS_PREFILL, mdata->mdss_qos_map);
|
||||||
set_bit(MDSS_QOS_IB_NOCR, mdata->mdss_qos_map);
|
set_bit(MDSS_QOS_IB_NOCR, mdata->mdss_qos_map);
|
||||||
|
set_bit(MDSS_QOS_WB2_WRITE_GATHER_EN, mdata->mdss_qos_map);
|
||||||
set_bit(MDSS_CAPS_YUV_CONFIG, mdata->mdss_caps_map);
|
set_bit(MDSS_CAPS_YUV_CONFIG, mdata->mdss_caps_map);
|
||||||
set_bit(MDSS_CAPS_SCM_RESTORE_NOT_REQUIRED,
|
set_bit(MDSS_CAPS_SCM_RESTORE_NOT_REQUIRED,
|
||||||
mdata->mdss_caps_map);
|
mdata->mdss_caps_map);
|
||||||
|
|
|
@ -829,6 +829,7 @@ enum mdss_mdp_pingpong_index {
|
||||||
#define MMSS_VBIF_CLKON 0x4
|
#define MMSS_VBIF_CLKON 0x4
|
||||||
#define MMSS_VBIF_RD_LIM_CONF 0x0B0
|
#define MMSS_VBIF_RD_LIM_CONF 0x0B0
|
||||||
#define MMSS_VBIF_WR_LIM_CONF 0x0C0
|
#define MMSS_VBIF_WR_LIM_CONF 0x0C0
|
||||||
|
#define MDSS_VBIF_WRITE_GATHER_EN 0x0AC
|
||||||
|
|
||||||
#define MMSS_VBIF_XIN_HALT_CTRL0 0x200
|
#define MMSS_VBIF_XIN_HALT_CTRL0 0x200
|
||||||
#define MMSS_VBIF_XIN_HALT_CTRL1 0x204
|
#define MMSS_VBIF_XIN_HALT_CTRL1 0x204
|
||||||
|
|
|
@ -488,6 +488,10 @@ int mdss_mdp_writeback_prepare_cwb(struct mdss_mdp_ctl *ctl,
|
||||||
mdss_mdp_writeback_cwb_overflow, sctl);
|
mdss_mdp_writeback_cwb_overflow, sctl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (test_bit(MDSS_QOS_WB2_WRITE_GATHER_EN, ctl->mdata->mdss_qos_map))
|
||||||
|
MDSS_VBIF_WRITE(ctl->mdata, MDSS_VBIF_WRITE_GATHER_EN,
|
||||||
|
BIT(6), false);
|
||||||
|
|
||||||
if (ctl->mdata->default_ot_wr_limit || ctl->mdata->default_ot_rd_limit)
|
if (ctl->mdata->default_ot_wr_limit || ctl->mdata->default_ot_rd_limit)
|
||||||
mdss_mdp_set_ot_limit_wb(ctx, false);
|
mdss_mdp_set_ot_limit_wb(ctx, false);
|
||||||
|
|
||||||
|
@ -907,6 +911,10 @@ static int mdss_mdp_writeback_display(struct mdss_mdp_ctl *ctl, void *arg)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (test_bit(MDSS_QOS_WB2_WRITE_GATHER_EN, ctl->mdata->mdss_qos_map))
|
||||||
|
MDSS_VBIF_WRITE(ctl->mdata, MDSS_VBIF_WRITE_GATHER_EN,
|
||||||
|
BIT(6), false);
|
||||||
|
|
||||||
mdss_mdp_set_intr_callback(ctx->intr_type, ctx->intf_num,
|
mdss_mdp_set_intr_callback(ctx->intr_type, ctx->intf_num,
|
||||||
mdss_mdp_writeback_intr_done, ctl);
|
mdss_mdp_writeback_intr_done, ctl);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue