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

Commit 4be499df authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "disp: msm: sde: handle cont-splash & check only rm reserve"

parents e404155b ce0fef97
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3313,7 +3313,7 @@ static void sde_crtc_destroy_state(struct drm_crtc *crtc,

	SDE_DEBUG("crtc%d\n", crtc->base.id);

	if (sde_kms && enc && !sde_encoder_in_cont_splash(enc))
	if (sde_kms && enc)
		sde_rm_release(&sde_kms->rm, enc, true);

	__drm_atomic_helper_crtc_destroy_state(state);
+14 −0
Original line number Diff line number Diff line
@@ -1699,6 +1699,8 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt)
{
	struct sde_rm_rsvp *rsvp;
	struct drm_connector *conn;
	struct msm_drm_private *priv;
	struct sde_kms *sde_kms;
	uint64_t top_ctrl;

	if (!rm || !enc) {
@@ -1706,6 +1708,13 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt)
		return;
	}

	priv = enc->dev->dev_private;
	if (!priv->kms) {
		SDE_ERROR("invalid kms\n");
		return;
	}
	sde_kms = to_sde_kms(priv->kms);

	mutex_lock(&rm->rm_lock);

	if (nxt)
@@ -1718,6 +1727,11 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt)
		goto end;
	}

	if (_sde_rm_is_display_in_cont_splash(sde_kms, enc)) {
		_sde_rm_release_rsvp(rm, rsvp, conn);
		goto end;
	}

	conn = _sde_rm_get_connector(enc);
	if (!conn) {
		SDE_ERROR("failed to get connector for enc %d, nxt %d",