diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-05-27 18:11:52 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-05-27 18:11:51 -0700 |
| commit | 2859a4d70331ea24ec3adbb6c9cf954e76e20e2b (patch) | |
| tree | 81c1364d81fcf859bb29287a191b39edd89f9005 | |
| parent | bf485cf86ce04d8b1b943f78f50ee202e971a015 (diff) | |
| parent | e39f42cc7637bb6a976c17e6397676b0c9306218 (diff) | |
Merge "msm: mdss: Correct source and destination buffer rectangles"
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_overlay.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c index 87fff44af389..d384ead8d2b0 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c +++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c @@ -953,13 +953,6 @@ int mdss_mdp_overlay_pipe_setup(struct msm_fb_data_type *mfd, pipe->dst.y += mixer->ctl->border_y_off; } - if (mfd->panel_orientation & MDP_FLIP_LR) - pipe->dst.x = pipe->mixer_left->width - - pipe->dst.x - pipe->dst.w; - if (mfd->panel_orientation & MDP_FLIP_UD) - pipe->dst.y = pipe->mixer_left->height - - pipe->dst.y - pipe->dst.h; - pipe->horz_deci = req->horz_deci; pipe->vert_deci = req->vert_deci; @@ -2966,6 +2959,16 @@ static int mdss_mdp_overlay_get_fb_pipe(struct msm_fb_data_type *mfd, req->src_rect = right_rect; } + if (mfd->panel_orientation == MDP_ROT_180) { + if (mixer_mux == MDSS_MDP_MIXER_MUX_RIGHT) { + req->src_rect.x = 0; + req->dst_rect.x = mixer->width; + } else { + req->src_rect.x = (split_lm) ? mixer->width : 0; + req->dst_rect.x = 0; + } + } + req->z_order = MDSS_MDP_STAGE_BASE; if (rotate_180) req->flags |= (MDP_FLIP_LR | MDP_FLIP_UD); |
