msm: mdss: Avoid unnecessary warnings during pipe unstaging

In some cases, when the pipe is being unstaged from right mixer,
some unnecessary processing is done and warning messages are
being printed. This can be avoided by updating the right stage
information after unstaging the pipe.

Change-Id: Ibeaa1c4bee29d7ac3ae34140bea8d5b7468dbc85
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
This commit is contained in:
Krishna Manikandan 2017-03-03 13:30:40 +05:30
parent 2a7bbea49b
commit 1520065c26

View file

@ -1123,6 +1123,7 @@ static int __configure_pipe_params(struct msm_fb_data_type *mfd,
int ret = 0;
u32 left_lm_w = left_lm_w_from_mfd(mfd);
u64 flags;
bool is_right_blend = false;
struct mdss_mdp_mixer *mixer = NULL;
struct mdss_overlay_private *mdp5_data = mfd_to_mdp5_data(mfd);
@ -1234,6 +1235,7 @@ static int __configure_pipe_params(struct msm_fb_data_type *mfd,
* staging, same pipe will be stagged on both layer mixers.
*/
if (mdata->has_src_split) {
is_right_blend = pipe->is_right_blend;
if (left_blend_pipe) {
if (__validate_pipe_priorities(left_blend_pipe, pipe)) {
pr_err("priority limitation. left:%d rect:%d, right:%d rect:%d\n",
@ -1245,7 +1247,7 @@ static int __configure_pipe_params(struct msm_fb_data_type *mfd,
goto end;
} else {
pr_debug("pipe%d is a right_pipe\n", pipe->num);
pipe->is_right_blend = true;
is_right_blend = true;
}
} else if (pipe->is_right_blend) {
/*
@ -1254,7 +1256,7 @@ static int __configure_pipe_params(struct msm_fb_data_type *mfd,
*/
mdss_mdp_mixer_pipe_unstage(pipe, pipe->mixer_left);
mdss_mdp_mixer_pipe_unstage(pipe, pipe->mixer_right);
pipe->is_right_blend = false;
is_right_blend = false;
}
if (is_split_lm(mfd) && __layer_needs_src_split(layer)) {
@ -1280,6 +1282,7 @@ static int __configure_pipe_params(struct msm_fb_data_type *mfd,
}
pipe->src_split_req = false;
}
pipe->is_right_blend = is_right_blend;
}
pipe->multirect.mode = vinfo->multirect.mode;