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

Commit bbaf0421 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: fix pipe programming with dual mixer single DSI CMD mode"

parents 77619641 7b1283eb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -960,7 +960,7 @@ static void clk_ctrl_delayed_off_work(struct work_struct *work)
		/* re-assign to have the correct order in the context */
		ctx = (struct mdss_mdp_cmd_ctx *) ctl->intf_ctx[MASTER_CTX];
		sctx = (struct mdss_mdp_cmd_ctx *) sctl->intf_ctx[MASTER_CTX];
		if (!ctx || !sctl) {
		if (!ctx || !sctx) {
			pr_err("invalid %s %s\n",
				ctx?"":"ctx", sctx?"":"sctx");
			return;
+14 −6
Original line number Diff line number Diff line
@@ -1709,18 +1709,26 @@ static int mdss_mdp_image_setup(struct mdss_mdp_pipe *pipe,

		struct mdss_rect ctl_roi = pipe->mixer_left->ctl->roi;
		bool is_right_mixer = pipe->mixer_left->is_right_mixer;
		/* sctl can be NULL, check validity before use */
		struct mdss_mdp_ctl *sctl =
			mdss_mdp_get_split_ctl(pipe->mixer_left->ctl);
		/* main_ctl can be NULL, check validity before use */
		struct mdss_mdp_ctl *main_ctl =
			mdss_mdp_get_main_ctl(pipe->mixer_left->ctl);

		/* adjust roi or dst_x before crop is applied */
		if (pipe->src_split_req && sctl)
			ctl_roi.w += sctl->roi.w;
		else if (mdata->has_src_split && is_right_mixer && main_ctl)
		if (pipe->src_split_req) {
			int r_roi_w = ctl_roi.w;
			struct mdss_mdp_ctl *sctl;

			if (pipe->mfd->split_mode == MDP_DUAL_LM_DUAL_DISPLAY) {
				sctl = mdss_mdp_get_split_ctl(
						pipe->mixer_left->ctl);
				if (sctl)
					r_roi_w = sctl->roi.w;
			}

			ctl_roi.w += r_roi_w;
		} else if (mdata->has_src_split && is_right_mixer && main_ctl) {
			dst.x -= main_ctl->mixer_left->width;
		}

		mdss_mdp_crop_rect(&src, &dst, &ctl_roi);