disp: msm: avoid vsync delay during seamless mode switch

Remove sde rscc vsync wait requirement during seamless
mode switch state transition to reduce the transition
delay. SDE RSCC rev 3.0 only keeps vsync wait requirement
for solver mode disable.

Change-Id: I6119dbb97d47a70eecc9e5d356c648003adfcc29
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
This commit is contained in:
Dhaval Patel
2019-04-22 13:20:01 -07:00
parent 9b09b9af71
commit a702cd897f

View File

@@ -484,7 +484,7 @@ static int sde_rsc_switch_to_cmd(struct sde_rsc_priv *rsc,
*/
if (rsc->current_state == SDE_RSC_CMD_STATE) {
rc = 0;
if (config)
if (config && rsc->version < SDE_RSC_REV_3)
goto vsync_wait;
else
goto end;
@@ -504,7 +504,8 @@ static int sde_rsc_switch_to_cmd(struct sde_rsc_priv *rsc,
vsync_wait:
/* indicate wait for vsync for vid to cmd state switch & cfg update */
if (!rc && (rsc->current_state == SDE_RSC_VID_STATE ||
if (!rc && (rsc->version < SDE_RSC_REV_3) &&
(rsc->current_state == SDE_RSC_VID_STATE ||
rsc->current_state == SDE_RSC_CMD_STATE)) {
/* clear VSYNC timestamp for indication when update completes */
if (rsc->hw_ops.hw_vsync)
@@ -622,7 +623,7 @@ static int sde_rsc_switch_to_vid(struct sde_rsc_priv *rsc,
*/
if (rsc->current_state == SDE_RSC_VID_STATE) {
rc = 0;
if (config)
if (config && rsc->version < SDE_RSC_REV_3)
goto vsync_wait;
else
goto end;
@@ -643,7 +644,8 @@ static int sde_rsc_switch_to_vid(struct sde_rsc_priv *rsc,
vsync_wait:
/* indicate wait for vsync for vid to cmd state switch & cfg update */
if (!rc && (rsc->current_state == SDE_RSC_VID_STATE ||
if (!rc && (rsc->version < SDE_RSC_REV_3) &&
(rsc->current_state == SDE_RSC_VID_STATE ||
rsc->current_state == SDE_RSC_CMD_STATE)) {
/* clear VSYNC timestamp for indication when update completes */
if (rsc->hw_ops.hw_vsync)