summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-27 18:11:52 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-27 18:11:51 -0700
commit2859a4d70331ea24ec3adbb6c9cf954e76e20e2b (patch)
tree81c1364d81fcf859bb29287a191b39edd89f9005
parentbf485cf86ce04d8b1b943f78f50ee202e971a015 (diff)
parente39f42cc7637bb6a976c17e6397676b0c9306218 (diff)
Merge "msm: mdss: Correct source and destination buffer rectangles"
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c17
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);