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

Commit 6b5790c4 authored by Naseer Ahmed's avatar Naseer Ahmed Committed by Gurpreet Singh Dhami
Browse files

drm/msm/sde: Apply mode on the first frame after boot



When coming out of continuous splash on the first commit the crtc
is not enabled but the mode properties may be set on the first
frame. Apply the mode in such cases.

Bug: 79434305
Bug: 110772452
Change-Id: Ib362fe05fee49256c73ff531fd117bb797610c04
Signed-off-by: default avatarNaseer Ahmed <naseer@codeaurora.org>
[gdhami@codeaurora.org: resolve merge conflicts]
Signed-off-by: default avatarGurpreet Singh Dhami <gdhami@codeaurora.org>
parent 8bb5b25a
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -3561,6 +3561,9 @@ static void sde_crtc_atomic_begin(struct drm_crtc *crtc,
	struct drm_encoder *encoder;
	struct drm_device *dev;
	struct sde_kms *sde_kms;
	struct sde_splash_display *splash_display;
	bool cont_splash_enabled = false;
	size_t i;

	if (!crtc) {
		SDE_ERROR("invalid crtc\n");
@@ -3625,7 +3628,16 @@ static void sde_crtc_atomic_begin(struct drm_crtc *crtc,
	 * apply color processing properties only if
	 * smmu state is attached,
	 */
	if (sde_kms_is_cp_operation_allowed(sde_kms) && sde_crtc->enabled)
	for (i = 0; i < MAX_DSI_DISPLAYS; i++) {
		splash_display = &sde_kms->splash_data.splash_display[i];
		if (splash_display->cont_splash_enabled &&
			splash_display->encoder &&
			crtc == splash_display->encoder->crtc)
			cont_splash_enabled = true;
	}

	if (sde_kms_is_cp_operation_allowed(sde_kms) &&
			(cont_splash_enabled || sde_crtc->enabled))
		sde_cp_crtc_apply_properties(crtc);

	/*