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: