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

Commit 825115bd authored by Ujwal Patel's avatar Ujwal Patel Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: fix data mismatch errors on rotator



Starting with patch Ic07deab12aa43bc4f61762303ed367fe3131389f,
msm: mdss: enable source split with dual-dsi partial update, valid_roi
check was added when doing mixer setup to prevent incorrect HW
configurations. However valid_roi is not set for a ctl path for rotator.
Because of this params_changed value for rotator mixer is not getting
reset which leads to data overflow for variable params_changed. This
overflow prevents prepare_rotation function to be called which in turn
leads to data mismatch errors. Fix this issue by moving valid_roi check
after rotator is serviced during mixer setup.

Change-Id: Iae2585dcf3d593ad9ce22a6c394e17249bc5f1f4
Signed-off-by: default avatarUjwal Patel <ujwalp@codeaurora.org>
parent 6d8da2ba
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2860,7 +2860,7 @@ static void mdss_mdp_mixer_setup(struct mdss_mdp_ctl *master_ctl,
		return;

	ctl = mixer->ctl;
	if (!ctl || !ctl->valid_roi)
	if (!ctl)
		return;

	mixer->params_changed = 0;
@@ -2871,6 +2871,9 @@ static void mdss_mdp_mixer_setup(struct mdss_mdp_ctl *master_ctl,
		return;
	}

	if (!ctl->valid_roi)
		return;

	trace_mdp_mixer_update(mixer->num);
	pr_debug("setup mixer=%d\n", mixer->num);
	screen_state = ctl->force_screen_state;