disp: msm: sde: compute timeouts based on refresh rate

Current timeout values in sde driver for vblank, kickoff and
frame complete timeouts are fixed and can be much lower than
a vsync incase of low refresh rate display. Compute timeouts
based on refresh rate for low refresh rate displays.

Change-Id: I9dda41feb15446de7451824e185321de421ad575
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
This commit is contained in:
Prabhanjan Kandula
2021-08-02 12:12:06 -07:00
parent 6bf96605eb
commit 642c86fee9
8 changed files with 91 additions and 15 deletions

View File

@@ -2681,6 +2681,25 @@ u32 sde_crtc_get_dfps_maxfps(struct drm_crtc *crtc)
return 0;
}
struct drm_encoder *sde_crtc_get_src_encoder_of_clone(struct drm_crtc *crtc)
{
struct drm_encoder *enc;
struct sde_crtc *sde_crtc;
if (!crtc || !crtc->dev)
return NULL;
sde_crtc = to_sde_crtc(crtc);
drm_for_each_encoder_mask(enc, crtc->dev, sde_crtc->cached_encoder_mask) {
if (sde_encoder_in_clone_mode(enc))
continue;
return enc;
}
return NULL;
}
static void sde_crtc_vblank_cb(void *data, ktime_t ts)
{
struct drm_crtc *crtc = (struct drm_crtc *)data;