From 7a5d2d5d00a5398f5a2efac34dd0a253d54886ed Mon Sep 17 00:00:00 2001 From: Steve Cohen Date: Mon, 20 Jan 2020 14:48:56 -0500 Subject: [PATCH] disp: msm: sde: skip vsync wait during rsc state switch When switching from CMD to VIDEO or vice-versa, HW no longer requires a vsync wait in between since the vsyncs will be synchronized. So skip the wait for HW which supports this feature. Change-Id: Ia5823495bc7bfc7d590098775b0a5f4b4347b5ed Signed-off-by: Steve Cohen --- msm/sde_rsc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/msm/sde_rsc.c b/msm/sde_rsc.c index 779665f54e..eeaa35e9c0 100644 --- a/msm/sde_rsc.c +++ b/msm/sde_rsc.c @@ -543,6 +543,13 @@ static int sde_rsc_switch_to_cmd(struct sde_rsc_priv *rsc, } } + /* vsync wait not needed during VID->CMD switch (rev 4+ HW only) */ + if (rsc->current_state == SDE_RSC_VID_STATE && + rsc->version >= SDE_RSC_REV_4) { + rc = 0; + goto end; + } + vsync_wait: /* indicate wait for vsync for vid to cmd state switch & cfg update */ if (!rc && (rsc->current_state == SDE_RSC_VID_STATE || @@ -689,6 +696,13 @@ static int sde_rsc_switch_to_vid(struct sde_rsc_priv *rsc, } } + /* vsync wait not needed during CMD->VID switch (rev 4+ HW only) */ + if (rsc->current_state == SDE_RSC_CMD_STATE && + rsc->version >= SDE_RSC_REV_4) { + rc = 0; + goto end; + } + vsync_wait: /* indicate wait for vsync for vid to cmd state switch & cfg update */ if (!rc && (rsc->current_state == SDE_RSC_VID_STATE ||