tdm_hwc: change use_vblank and layer_waiting_vblank flag setting position 84/236184/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 15 Jun 2020 10:32:27 +0000 (19:32 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 15 Jun 2020 10:32:39 +0000 (19:32 +0900)
Change-Id: I4a6c3804c87612d40e72a69860bb53f54df259cc
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/tdm_hwc.c

index ea96cc8..31394a5 100644 (file)
@@ -250,17 +250,19 @@ _tdm_hwc_vblank(tdm_private_hwc *private_hwc, tdm_private_hwc_commit_handler *hw
                if (ret != TDM_ERROR_NONE)
                        goto done;
 
+               hwc_commit_handler->use_vblank = 1;
+               private_output->layer_waiting_vblank = 1;
+
                /* tdm_vblank APIs is for server. it should be called in unlock status*/
                _pthread_mutex_unlock(&private_display->lock);
                ret = tdm_vblank_wait(private_output->vblank, 0, 0, 1, _tdm_hwc_cb_wait_vblank, hwc_commit_handler);
                _pthread_mutex_lock(&private_display->lock);
                if (ret != TDM_ERROR_NONE) {
-                       if (!TDM_OUTPUT_DPMS_VSYNC_IS_OFF(private_output->current_dpms_value))
-                               goto done;
+                       if (!TDM_OUTPUT_DPMS_VSYNC_IS_OFF(private_output->current_dpms_value)) {
+                               hwc_commit_handler->use_vblank = 0;
+                               private_output->layer_waiting_vblank = 0;
+                       }
                }
-
-               hwc_commit_handler->use_vblank = 1;
-               private_output->layer_waiting_vblank = 1;
        }
 
 done: