diff options
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_ctl.c | 1 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_pp.c | 26 |
2 files changed, 15 insertions, 12 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c index e34608215a02..4b763aaac681 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c +++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c @@ -1505,7 +1505,6 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg) mdss_mdp_pp_setup_locked(ctl); mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, ctl->flush_bits); if (sctl) { - mdss_mdp_pp_setup_locked(sctl); mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_FLUSH, sctl->flush_bits); } diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c index fcc1c1ae6bf5..9d282656da1e 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pp.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c @@ -888,14 +888,19 @@ int mdss_mdp_pipe_sspp_setup(struct mdss_mdp_pipe *pipe, u32 *op) return ret; } -static int pp_mixer_setup(u32 disp_num, struct mdss_mdp_ctl *ctl, +static int pp_mixer_setup(u32 disp_num, struct mdss_mdp_mixer *mixer) { u32 flags, offset, dspp_num, opmode = 0; struct mdp_pgc_lut_data *pgc_config; struct pp_sts_type *pp_sts; + struct mdss_mdp_ctl *ctl; dspp_num = mixer->num; + if (!mixer || !mixer->ctl) + return -EINVAL; + ctl = mixer->ctl; + /* no corresponding dspp */ if ((mixer->type != MDSS_MDP_MIXER_TYPE_INTF) || (dspp_num >= MDSS_MDP_MAX_DSPP)) @@ -1003,8 +1008,7 @@ error: return ret; } -static int pp_dspp_setup(u32 disp_num, struct mdss_mdp_ctl *ctl, - struct mdss_mdp_mixer *mixer) +static int pp_dspp_setup(u32 disp_num, struct mdss_mdp_mixer *mixer) { u32 flags, base, offset, dspp_num, opmode = 0; struct mdp_dither_cfg_data *dither_cfg; @@ -1014,12 +1018,12 @@ static int pp_dspp_setup(u32 disp_num, struct mdss_mdp_ctl *ctl, char __iomem *basel; int i, ret = 0; struct mdss_data_type *mdata; + struct mdss_mdp_ctl *ctl; - mdata = ctl->mdata; - - if (!mixer || !ctl || !mdata) + if (!mixer || !mixer->ctl || !mixer->ctl->mdata) return -EINVAL; - + ctl = mixer->ctl; + mdata = ctl->mdata; dspp_num = mixer->num; /* no corresponding dspp */ if ((mixer->type != MDSS_MDP_MIXER_TYPE_INTF) || @@ -1174,12 +1178,12 @@ int mdss_mdp_pp_setup_locked(struct mdss_mdp_ctl *ctl) mutex_lock(&mdss_pp_mutex); if (ctl->mixer_left) { - pp_mixer_setup(disp_num, ctl, ctl->mixer_left); - pp_dspp_setup(disp_num, ctl, ctl->mixer_left); + pp_mixer_setup(disp_num, ctl->mixer_left); + pp_dspp_setup(disp_num, ctl->mixer_left); } if (ctl->mixer_right) { - pp_mixer_setup(disp_num, ctl, ctl->mixer_right); - pp_dspp_setup(disp_num, ctl, ctl->mixer_right); + pp_mixer_setup(disp_num, ctl->mixer_right); + pp_dspp_setup(disp_num, ctl->mixer_right); } /* clear dirty flag */ if (disp_num < MDSS_BLOCK_DISP_NUM) |
