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

This commit is contained in:
qctecmdr
2020-11-23 21:20:26 -08:00
committed by Gerrit - the friendly Code Review server

View File

@@ -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);
sde_encoder_helper_unregister_irq(
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");
sde_encoder_helper_register_irq(
if (irq_enable)
sde_encoder_helper_register_irq(
phys_enc, INTR_IDX_VSYNC);
mutex_unlock(phys_enc->vblank_ctl_lock);
}
/*