Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e8ef957 authored by Krishna Chaitanya Devarakonda's avatar Krishna Chaitanya Devarakonda
Browse files

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: default avatarKrishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
parent 4b85ad60
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -467,6 +467,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);
	u32 flags;
	bool is_right_blend = false;

	struct mdss_mdp_mixer *mixer = NULL;
	struct mdss_overlay_private *mdp5_data = mfd_to_mdp5_data(mfd);
@@ -574,6 +575,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 (pipe->priority <= left_blend_pipe->priority) {
				pr_err("priority limitation. left:%d right%d\n",
@@ -583,7 +585,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) {
			/*
@@ -592,7 +594,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)) {
@@ -618,6 +620,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;