From 15a6e6deda6e21fb74a00fd191d1f02d539c34b1 Mon Sep 17 00:00:00 2001 From: Akash Gajjar Date: Thu, 6 Jul 2023 23:17:55 +0530 Subject: [PATCH] disp: msm: sde: avoid returning zero vsync count in poms usecase In POMS use case while disabling the virtual encoder, the virt reset function sets the current master to null. concurrently, if there is a query from the DRM client for the current vsync count, it returns a zero value. This results in the blocking of the drm_crtc_funcs.disable_vblank function. since the vsync count has been relocated to the virtual encoder, remove the physical encoder structure. Change-Id: Ie692df657b5a86b6b8915a15e9a070642243fcfb Signed-off-by: Akash Gajjar --- msm/sde/sde_encoder.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index 8e9c9f29..bf45fb85 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -5851,7 +5851,6 @@ enum sde_intf_mode sde_encoder_get_intf_mode(struct drm_encoder *encoder) u32 sde_encoder_get_frame_count(struct drm_encoder *encoder) { struct sde_encoder_virt *sde_enc = NULL; - struct sde_encoder_phys *phys; if (!encoder) { SDE_ERROR("invalid encoder\n"); @@ -5859,9 +5858,7 @@ u32 sde_encoder_get_frame_count(struct drm_encoder *encoder) } sde_enc = to_sde_encoder_virt(encoder); - phys = sde_enc->cur_master; - - return phys ? atomic_read(&sde_enc->vsync_cnt) : 0; + return atomic_read(&sde_enc->vsync_cnt); } bool sde_encoder_get_vblank_timestamp(struct drm_encoder *encoder,