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

Commit f41ab496 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: enable synchronous flush only for video mode panels"

parents 25ca283a 3ae81d47
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ struct mdss_mdp_ctl {
	u32 flush_bits;
	u32 flush_reg_data;

	bool split_flush_en;
	bool is_video_mode;
	u32 play_cnt;
	u32 vsync_cnt;
+9 −3
Original line number Diff line number Diff line
@@ -656,13 +656,19 @@ int mdss_mdp_ctl_splash_finish(struct mdss_mdp_ctl *ctl, bool handoff)
static inline int mdss_mdp_set_split_ctl(struct mdss_mdp_ctl *ctl,
		struct mdss_mdp_ctl *split_ctl)
{
	if (!ctl || !split_ctl)
	struct mdss_data_type *mdata = mdss_mdp_get_mdata();

	if (!ctl || !split_ctl || !mdata)
		return -ENODEV;

	/* setup split ctl mixer as right mixer of original ctl so that
	 * original ctl can work the same way as dual pipe solution */
	ctl->mixer_right = split_ctl->mixer_left;

	if ((mdata->mdp_rev >= MDSS_MDP_HW_REV_103) &&
		(ctl->opmode == MDSS_MDP_CTL_OP_VIDEO_MODE))
		ctl->split_flush_en = true;

	return 0;
}

@@ -1035,7 +1041,7 @@ static void mdss_mdp_ctl_split_display_enable(int enable,
	MDSS_MDP_REG_WRITE(MDSS_MDP_REG_SPLIT_DISPLAY_LOWER_PIPE_CTRL, lower);
	MDSS_MDP_REG_WRITE(MDSS_MDP_REG_SPLIT_DISPLAY_EN, enable);

	if (main_ctl->mdata->mdp_rev >= MDSS_MDP_HW_REV_103)
	if (main_ctl->split_flush_en)
		MDSS_MDP_REG_WRITE(MMSS_MDP_MDP_SSPP_SPARE_0,
			enable ? 0x1 : 0x0);
}
@@ -1954,7 +1960,7 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg)
		/* postprocessing setup, including dspp */
		mdss_mdp_pp_setup_locked(ctl);

	if (sctl && ctl->mdata->mdp_rev >= MDSS_MDP_HW_REV_103) {
	if (sctl && ctl->split_flush_en) {
		ctl->flush_bits |= sctl->flush_bits;
		sctl->flush_bits = 0;
	}