Merge "disp: msm: sde: add vblank mutex lock during irq unregister"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
318dfe0726
@@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user