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

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

Merge "drm/msm/sde: avoid fence reset during modeset crtc disable"

parents ce0f694c 8f43c01c
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -3853,7 +3853,8 @@ static void sde_crtc_disable(struct drm_crtc *crtc)
				atomic_read(&sde_crtc->frame_pending));

	SDE_EVT32(DRMID(crtc), sde_crtc->enabled, sde_crtc->suspend,
			sde_crtc->vblank_requested);
			sde_crtc->vblank_requested,
			crtc->state->active, crtc->state->enable);
	if (sde_crtc->enabled && !sde_crtc->suspend &&
			sde_crtc->vblank_requested) {
		ret = _sde_crtc_vblank_enable_no_lock(sde_crtc, false);
@@ -3898,11 +3899,14 @@ static void sde_crtc_disable(struct drm_crtc *crtc)
	/**
	 * All callbacks are unregistered and frame done waits are complete
	 * at this point. No buffers are accessed by hardware.
	 * reset the fence timeline if there is any issue.
	 * reset the fence timeline if crtc will not be enabled for this commit
	 */
	if (!crtc->state->active || !crtc->state->enable) {
		sde_fence_signal(&sde_crtc->output_fence, ktime_get(), true);
		for (i = 0; i < cstate->num_connectors; ++i)
		sde_connector_commit_reset(cstate->connectors[i], ktime_get());
			sde_connector_commit_reset(cstate->connectors[i],
					ktime_get());
	}

	memset(sde_crtc->mixers, 0, sizeof(sde_crtc->mixers));
	sde_crtc->num_mixers = 0;