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 <quic_agajjar@quicinc.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user