From 2211a5dac3e660651e6072f3b0e5f12fac8726e4 Mon Sep 17 00:00:00 2001 From: Raviteja Tamatam Date: Tue, 23 Jun 2020 03:27:46 +0530 Subject: [PATCH] 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 --- msm/sde/sde_encoder.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index f252c53d1ed9..ff6dfcbc9732 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -3042,6 +3042,11 @@ void sde_encoder_register_vblank_callback(struct drm_encoder *drm_enc, SDE_DEBUG_ENC(sde_enc, "\n"); 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); sde_enc->crtc_vblank_cb = vbl_cb; sde_enc->crtc_vblank_cb_data = vbl_data;