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

Commit 25e45574 authored by Veera Sundaram Sankaran's avatar Veera Sundaram Sankaran Committed by Gerrit - the friendly Code Review server
Browse files

drm/msm/sde: avoid disabling clks/bw when cont-splash is enabled



Avoid disabling the core clocks and bandwidth vote during
crtc disable when continuous splash screen is enabled as it
might result in flicker or underrun during the transition
from UEFI to kernel.

Change-Id: I9299918ada63bb51f490c1d1aa9e94d6d9249db3
Signed-off-by: default avatarVeera Sundaram Sankaran <veeras@codeaurora.org>
parent 452becbf
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -4094,6 +4094,7 @@ static void sde_crtc_handle_power_event(u32 event_type, void *arg)


static void sde_crtc_disable(struct drm_crtc *crtc)
static void sde_crtc_disable(struct drm_crtc *crtc)
{
{
	struct sde_kms *sde_kms;
	struct sde_crtc *sde_crtc;
	struct sde_crtc *sde_crtc;
	struct sde_crtc_state *cstate;
	struct sde_crtc_state *cstate;
	struct drm_encoder *encoder;
	struct drm_encoder *encoder;
@@ -4109,6 +4110,12 @@ static void sde_crtc_disable(struct drm_crtc *crtc)
		return;
		return;
	}
	}


	sde_kms = _sde_crtc_get_kms(crtc);
	if (!sde_kms) {
		SDE_ERROR("invalid kms\n");
		return;
	}

	if (!sde_kms_power_resource_is_enabled(crtc->dev)) {
	if (!sde_kms_power_resource_is_enabled(crtc->dev)) {
		SDE_ERROR("power resource is not enabled\n");
		SDE_ERROR("power resource is not enabled\n");
		return;
		return;
@@ -4174,6 +4181,8 @@ static void sde_crtc_disable(struct drm_crtc *crtc)
	}
	}
	spin_unlock_irqrestore(&sde_crtc->spin_lock, flags);
	spin_unlock_irqrestore(&sde_crtc->spin_lock, flags);


	/* avoid clk/bw downvote if cont-splash is enabled */
	if (!sde_kms->splash_data.cont_splash_en)
		sde_core_perf_crtc_update(crtc, 0, true);
		sde_core_perf_crtc_update(crtc, 0, true);


	drm_for_each_encoder(encoder, crtc->dev) {
	drm_for_each_encoder(encoder, crtc->dev) {