diff options
| author | Abhijit Kulkarni <kabhijit@codeaurora.org> | 2016-08-01 19:39:35 -0700 |
|---|---|---|
| committer | Abhijit Kulkarni <kabhijit@codeaurora.org> | 2016-08-09 16:34:15 -0700 |
| commit | 22ae38f7f9fcff307fea500dd6c1fd613f5f4c09 (patch) | |
| tree | e8c99086835a66bfa13ec6cdba9621e7dd2994d5 /drivers/video/fbdev | |
| parent | e94b446eac88a43e42ecde105275d48b677ea5b3 (diff) | |
msm: mdss: disable scaler for pipes with solid_fill
If solid fill is enabled the driver code skips the programming of
scaler which leaves the scaler in invalid state if it was
enabled in previous configuration on this pipe. The change
addresses this by programming scaler configuration before
the solid fill check.
CRs-Fixed: 1048727
Change-Id: I093e494800dacefda447b27da4fc2ea9c0cdeda6
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_pipe.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pipe.c b/drivers/video/fbdev/msm/mdss_mdp_pipe.c index bcb4867b4ffd..8cfb8e46777c 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pipe.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pipe.c @@ -2690,6 +2690,16 @@ int mdss_mdp_pipe_queue_data(struct mdss_mdp_pipe *pipe, if (pipe->scaler.enable) mdss_mdp_pipe_program_pixel_extn(pipe); + + ret = mdss_mdp_pipe_pp_setup(pipe, &opmode); + if (ret) { + pr_err("pipe pp setup error for pnum=%d\n", pipe->num); + + MDSS_XLOG(pipe->num, pipe->mixer_left->num, + pipe->play_cnt, 0xbad); + + goto done; + } } if ((!(pipe->flags & MDP_VPU_PIPE) && (src_data == NULL)) || @@ -2708,12 +2718,6 @@ int mdss_mdp_pipe_queue_data(struct mdss_mdp_pipe *pipe, if (params_changed) { pipe->params_changed = 0; - ret = mdss_mdp_pipe_pp_setup(pipe, &opmode); - if (ret) { - pr_err("pipe pp setup error for pnum=%d\n", pipe->num); - goto done; - } - ret = mdss_mdp_image_setup(pipe, src_data); if (ret) { pr_err("image setup error for pnum=%d\n", pipe->num); |
