Эх сурвалжийг харах

Merge "disp: msm: avoid vsync delay during seamless mode switch"

qctecmdr 6 жил өмнө
parent
commit
4b1742319e
1 өөрчлөгдсөн 6 нэмэгдсэн , 4 устгасан
  1. 6 4
      msm/sde_rsc.c

+ 6 - 4
msm/sde_rsc.c

@@ -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)