private_output = (tdm_private_output*)output; \
private_display = private_output->private_display
-/* temporary disable (not thread safe)
static void
_tdm_output_vblank_timeout_update(tdm_private_output *private_output, int ms_delay);
return;
}
}
-*/
INTERN tdm_error
tdm_output_init(tdm_private_display *private_display)
vblank_handler->sent_to_frontend = 0;
+ _tdm_output_vblank_timeout_update(private_output, 0);
+
tdm_thread_cb_remove(private_output, TDM_THREAD_CB_OUTPUT_VBLANK, vblank_handler, _tdm_output_thread_cb_vblank, NULL);
interval = vblank_handler->interval;
sync, vblank_handler);
TDM_GOTO_IF_FAIL(ret == TDM_ERROR_NONE, wait_failed);
+ _tdm_output_vblank_timeout_update(private_output, 1000);
+
if (tdm_debug_module & TDM_DEBUG_COMMIT)
TDM_INFO("output(%d) backend wait_vblank", private_output->pipe);
}
LIST_FOR_EACH_ENTRY(w, &private_vblank->HW_wait_list, link) {
VER("wait_info(%p) req_time(%.6f) target_seq(%u) interval(%u) hw_interval(%d)",
w, w->req_time, w->target_seq, w->interval, w->hw_interval);
+ tdm_output_vblank_print_wait_information(private_vblank->output, w);
}
LIST_FOR_EACH_ENTRY(w, &private_vblank->SW_wait_list, link) {