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

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

Merge "msm: mdp: Skip overlay start from overlay on if handoff pending"

parents 52e971ab 3d444ac0
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -4824,6 +4824,7 @@ static int mdss_mdp_overlay_on(struct msm_fb_data_type *mfd)
	int rc;
	struct mdss_overlay_private *mdp5_data;
	struct mdss_mdp_ctl *ctl = NULL;
	struct mdss_data_type *mdata;

	if (!mfd)
		return -ENODEV;
@@ -4835,6 +4836,10 @@ static int mdss_mdp_overlay_on(struct msm_fb_data_type *mfd)
	if (!mdp5_data)
		return -EINVAL;

	mdata = mfd_to_mdata(mfd);
	if (!mdata)
		return -EINVAL;

	mdss_mdp_set_lm_flag(mfd);

	if (!mdp5_data->ctl) {
@@ -4864,9 +4869,16 @@ static int mdss_mdp_overlay_on(struct msm_fb_data_type *mfd)
	if (rc)
		goto panel_on;

	/* Skip the overlay start and kickoff for all displays
	if handoff is pending. Previously we skipped it for DTV
	panel and pluggable panels (bridge chip hdmi case). But
	it does not cover the case where there is a non pluggable
	tertiary display. Using the flag handoff_pending to skip
	overlay start and kickoff should cover all cases
	TODO: In the long run, the overlay start and kickoff
	should not be skipped, instead, the handoff can be done */
	if (!mfd->panel_info->cont_splash_enabled &&
		(mfd->panel_info->type != DTV_PANEL) &&
			!mfd->panel_info->is_pluggable) {
		!mdata->handoff_pending) {
		rc = mdss_mdp_overlay_start(mfd);
		if (rc)
			goto end;