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

Commit e40ad2ec 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 underrun between splash screen and boot animation"

parents f6b2bb7e a4dd5917
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -3174,17 +3174,11 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,

		mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_TOP, ctl->opmode);
		ctl->flush_bits |= BIT(17);	/* CTL */
		if (!ctl->play_cnt)
			ctl->flush_bits |= BIT(31) >>
				(ctl->intf_num - MDSS_MDP_INTF0);

		if (sctl) {
			mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_TOP,
					sctl->opmode);
			sctl->flush_bits |= BIT(17);
			if (!ctl->play_cnt)
				sctl->flush_bits |= BIT(31) >>
					(sctl->intf_num - MDSS_MDP_INTF0);
		}
		ATRACE_END("mixer_programming");
	}
+13 −0
Original line number Diff line number Diff line
@@ -126,6 +126,8 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl,
	u32 den_polarity, hsync_polarity, vsync_polarity;
	u32 display_hctl, active_hctl, hsync_ctl, polarity_ctl;
	struct mdss_mdp_video_ctx *ctx;
	struct mdss_mdp_ctl *sctl = NULL;
	u32 flush_bits;

	ctx = ctl->priv_data;
	hsync_period = p->hsync_pulse_width + p->h_back_porch +
@@ -143,6 +145,16 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl,
		display_v_end -= p->h_front_porch;
	}

	sctl = mdss_mdp_get_split_ctl(ctl);

	flush_bits = mdss_mdp_ctl_read(ctl, MDSS_MDP_REG_CTL_FLUSH);
	flush_bits |= BIT(31) >>
		(ctl->intf_num - MDSS_MDP_INTF0);

	if (sctl)
		flush_bits |= BIT(31) >>
			(sctl->intf_num - MDSS_MDP_INTF0);

	hsync_start_x = p->h_back_porch + p->hsync_pulse_width;
	hsync_end_x = hsync_period - p->h_front_porch - 1;

@@ -208,6 +220,7 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl,
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_HSYNC_SKEW, p->hsync_skew);
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_POLARITY_CTL, polarity_ctl);
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_FRAME_LINE_COUNT_EN, 0x3);
	mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits);

	return 0;
}