disp: msm: sde: avoid returning vsync count for cwb encoder

In CWB use case along with suspend commit, the function
drm_crtc_funcs.get_vblank_counter returns a zero vsync count
value. This causes blocking of drm_crtc_funcs.disable_vblank,
leading to a wait for vsync timeout while disabling the encoder.
hence clear a cwb encoder mask in encoder disable and set it
while performing mode set.

Change-Id: Ic994aa0a86faf48e2b25955cf6fe12166fe9d328
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
此提交包含在:
Akash Gajjar
2023-07-04 14:38:26 +05:30
父節點 1bb44a8184
當前提交 bfcd87de91
共有 2 個檔案被更改,包括 7 行新增0 行删除

查看文件

@@ -3123,6 +3123,7 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc,
sde_crtc_state->cached_cwb_enc_mask);
sde_crtc_state->cwb_enc_mask = sde_crtc_state->cached_cwb_enc_mask;
sde_encoder_set_clone_mode(drm_enc, crtc_state);
sde_crtc->cached_encoder_mask |= drm_encoder_mask(drm_enc);
}
/* reserve dynamic resources now, indicating non test-only */