summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c11
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c10
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_layer.c2
3 files changed, 7 insertions, 16 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index c80d8f47bbb7..c241f2d748a6 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -3513,7 +3513,6 @@ int mdss_mdp_cwb_setup(struct mdss_mdp_ctl *ctl)
struct mdss_overlay_private *mdp5_data = NULL;
struct mdss_mdp_wb_data *cwb_data;
struct mdss_mdp_writeback_arg wb_args;
- struct mdss_mdp_ctl *sctl = NULL;
struct mdss_data_type *mdata = mdss_mdp_get_mdata();
u32 opmode, data_point;
@@ -3575,14 +3574,11 @@ int mdss_mdp_cwb_setup(struct mdss_mdp_ctl *ctl)
/* Select MEM_SEL to WB */
ctl->opmode |= MDSS_MDP_CTL_OP_WFD_MODE;
- sctl = mdss_mdp_get_split_ctl(ctl);
- if (sctl)
- sctl->opmode |= MDSS_MDP_CTL_OP_WFD_MODE;
/* Select CWB data point */
data_point = (cwb->layer.flags & MDP_COMMIT_CWB_DSPP) ? 0x4 : 0;
writel_relaxed(data_point, mdata->mdp_base + mdata->ppb_ctl[2]);
- if (sctl)
+ if (ctl->mixer_right)
writel_relaxed(data_point + 1,
mdata->mdp_base + mdata->ppb_ctl[3]);
@@ -3591,11 +3587,6 @@ int mdss_mdp_cwb_setup(struct mdss_mdp_ctl *ctl)
opmode = mdss_mdp_ctl_read(ctl, MDSS_MDP_REG_CTL_TOP) | ctl->opmode;
mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_TOP, opmode);
- if (sctl) {
- opmode = mdss_mdp_ctl_read(sctl, MDSS_MDP_REG_CTL_TOP) |
- sctl->opmode;
- mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_TOP, opmode);
- }
/* Increase commit count to signal CWB release fence */
atomic_inc(&cwb->cwb_sync_pt_data.commit_cnt);
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
index feb75eb890ee..9bebd72dce61 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
@@ -262,7 +262,7 @@ static void mdss_mdp_writeback_cwb_overflow(void *arg)
mdss_mdp_set_intr_callback_nosync(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW,
CWB_PPB_0, NULL, NULL);
- if (mdss_mdp_get_split_ctl(ctl)) {
+ if (ctl->mixer_right) {
mdss_mdp_irq_disable_nosync(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW,
CWB_PPB_1);
mdss_mdp_set_intr_callback_nosync(
@@ -297,7 +297,7 @@ static void mdss_mdp_writeback_cwb_intr_done(void *arg)
mdss_mdp_set_intr_callback_nosync(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW,
CWB_PPB_0, NULL, NULL);
- if (mdss_mdp_get_split_ctl(ctl)) {
+ if (ctl->mixer_right) {
mdss_mdp_irq_disable_nosync(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW,
CWB_PPB_1);
mdss_mdp_set_intr_callback_nosync(
@@ -477,7 +477,6 @@ int mdss_mdp_writeback_prepare_cwb(struct mdss_mdp_ctl *ctl,
struct mdss_mdp_writeback_ctx *ctx = NULL;
struct mdp_layer_buffer *buffer = NULL;
struct mdss_mdp_cwb *cwb = NULL;
- struct mdss_mdp_ctl *sctl = NULL;
int i, ret = 0;
unsigned long total_buf_len = 0;
struct mdss_mdp_data *data = NULL;
@@ -547,11 +546,10 @@ int mdss_mdp_writeback_prepare_cwb(struct mdss_mdp_ctl *ctl,
CWB_PPB_0, mdss_mdp_writeback_cwb_overflow, ctl);
mdss_mdp_irq_enable(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW, CWB_PPB_0);
- sctl = mdss_mdp_get_split_ctl(ctl);
- if (sctl) {
+ if (ctl->mixer_right) {
mdss_mdp_set_intr_callback(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW,
CWB_PPB_1, mdss_mdp_writeback_cwb_overflow,
- sctl);
+ ctl);
mdss_mdp_irq_enable(MDSS_MDP_IRQ_TYPE_CWB_OVERFLOW, CWB_PPB_1);
}
diff --git a/drivers/video/fbdev/msm/mdss_mdp_layer.c b/drivers/video/fbdev/msm/mdss_mdp_layer.c
index 3fc8e3883250..5f835d0d1208 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_layer.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_layer.c
@@ -2811,6 +2811,8 @@ int mdss_mdp_layer_pre_commit_cwb(struct msm_fb_data_type *mfd,
}
mdp5_data->cwb.layer = *commit->output_layer;
+ mdp5_data->cwb.layer.flags |= (commit->flags & MDP_COMMIT_CWB_DSPP) ?
+ MDP_COMMIT_CWB_DSPP : 0;
mdp5_data->cwb.wb_idx = commit->output_layer->writeback_ndx;
mutex_lock(&mdp5_data->cwb.queue_lock);