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

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

Merge "disp: msm: sde: add vblank mutex lock during irq unregister"

parents dd441d86 91291bb9
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -929,6 +929,7 @@ static int sde_encoder_phys_vid_prepare_for_kickoff(
	bool recovery_events;
	struct drm_connector *conn;
	int rc;
	int irq_enable;

	if (!phys_enc || !params || !phys_enc->hw_ctl) {
		SDE_ERROR("invalid encoder/parameters\n");
@@ -957,12 +958,21 @@ static int sde_encoder_phys_vid_prepare_for_kickoff(
		/* to avoid flooding, only log first time, and "dead" time */
		if (vid_enc->error_count == 1) {
			SDE_EVT32(DRMID(phys_enc->parent), SDE_EVTLOG_FATAL);
			mutex_lock(phys_enc->vblank_ctl_lock);

			irq_enable = atomic_read(&phys_enc->vblank_refcount);

			if (irq_enable)
				sde_encoder_helper_unregister_irq(
					phys_enc, INTR_IDX_VSYNC);

			SDE_DBG_DUMP("all", "dbg_bus", "vbif_dbg_bus");

			if (irq_enable)
				sde_encoder_helper_register_irq(
					phys_enc, INTR_IDX_VSYNC);

			mutex_unlock(phys_enc->vblank_ctl_lock);
		}

		/*