diff options
| author | Jayant Shekhar <jshekhar@codeaurora.org> | 2017-03-23 12:10:04 +0530 |
|---|---|---|
| committer | Jayant Shekhar <jshekhar@codeaurora.org> | 2017-03-23 16:09:03 +0530 |
| commit | 89227fd0ead0a315c050e9f87e985558ad28cd3e (patch) | |
| tree | 45bd8d13c2db24612a8221372c1dacd42729bb69 /drivers/video/fbdev/msm | |
| parent | 7dfdf9a42072fdb7949e142017721f65e5eeacec (diff) | |
msm: mdss: Update write gather register value for MDSS
First read the register and then OR it with enable bit
for write gather register in MDP and Rotator.
Change-Id: I2e284c7682055233851a5e69361e2ccfec647ff7
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev/msm')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c index 5b284e624c7f..87ed56028edd 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c +++ b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c @@ -602,9 +602,14 @@ int mdss_mdp_writeback_prepare_cwb(struct mdss_mdp_ctl *ctl, mdss_mdp_irq_enable(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW, CWB_PPB_1); } - if (test_bit(MDSS_QOS_WB2_WRITE_GATHER_EN, ctl->mdata->mdss_qos_map)) + if (test_bit(MDSS_QOS_WB2_WRITE_GATHER_EN, ctl->mdata->mdss_qos_map)) { + u32 reg = 0; + + reg = MDSS_VBIF_READ(ctl->mdata, + MDSS_VBIF_WRITE_GATHER_EN, false); MDSS_VBIF_WRITE(ctl->mdata, MDSS_VBIF_WRITE_GATHER_EN, - BIT(6), false); + reg | BIT(6), false); + } if (ctl->mdata->default_ot_wr_limit || ctl->mdata->default_ot_rd_limit) mdss_mdp_set_ot_limit_wb(ctx, false); @@ -1030,9 +1035,14 @@ static int mdss_mdp_writeback_display(struct mdss_mdp_ctl *ctl, void *arg) return ret; } - if (test_bit(MDSS_QOS_WB2_WRITE_GATHER_EN, ctl->mdata->mdss_qos_map)) + if (test_bit(MDSS_QOS_WB2_WRITE_GATHER_EN, ctl->mdata->mdss_qos_map)) { + u32 reg = 0; + + reg = MDSS_VBIF_READ(ctl->mdata, + MDSS_VBIF_WRITE_GATHER_EN, false); MDSS_VBIF_WRITE(ctl->mdata, MDSS_VBIF_WRITE_GATHER_EN, - BIT(6), false); + reg | BIT(6), false); + } mdss_mdp_set_intr_callback(ctx->intr_type, ctx->intf_num, mdss_mdp_writeback_intr_done, ctl); |
