disp: msm: sde: avoid registering vblank callback during CWB

During cases where vblank callback registration happens during
CWB is enabled and deregistered at point of no CWB, WB encoder
is left with dangling vblank_cb. Added changes to avoid registering
vblank callback on the clone mode encoder.

Change-Id: I62aa12ef453166d2f5558852d924f87841872f37
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
This commit is contained in:
Raviteja Tamatam
2020-06-23 03:27:46 +05:30
committed by Gerrit - the friendly Code Review server
parent e380b315c6
commit 2211a5dac3

View File

@@ -3042,6 +3042,11 @@ void sde_encoder_register_vblank_callback(struct drm_encoder *drm_enc,
SDE_DEBUG_ENC(sde_enc, "\n"); SDE_DEBUG_ENC(sde_enc, "\n");
SDE_EVT32(DRMID(drm_enc), enable); SDE_EVT32(DRMID(drm_enc), enable);
if (sde_encoder_in_clone_mode(drm_enc)) {
SDE_EVT32(DRMID(drm_enc), SDE_EVTLOG_ERROR);
return;
}
spin_lock_irqsave(&sde_enc->enc_spinlock, lock_flags); spin_lock_irqsave(&sde_enc->enc_spinlock, lock_flags);
sde_enc->crtc_vblank_cb = vbl_cb; sde_enc->crtc_vblank_cb = vbl_cb;
sde_enc->crtc_vblank_cb_data = vbl_data; sde_enc->crtc_vblank_cb_data = vbl_data;