From 00bb90bf1d12d0b0ea02d93dac48686398f2bbe7 Mon Sep 17 00:00:00 2001 From: Boram Park Date: Fri, 3 Feb 2017 15:41:16 +0900 Subject: [PATCH] commit: enhance debug log Change-Id: Ifd020ef0723b4d7d2121e77aa6be5682aaeeaa2d --- src/tdm_display.c | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/src/tdm_display.c b/src/tdm_display.c index 79734ce..53b1c7c 100644 --- a/src/tdm_display.c +++ b/src/tdm_display.c @@ -993,6 +993,9 @@ tdm_output_cb_vblank(tdm_output *output_backend, unsigned int sequence, _pthread_mutex_unlock(&private_display->lock); LIST_FOR_EACH_ENTRY_SAFE(v, vv, &clone_list, link) { + if (tdm_debug_module & TDM_DEBUG_COMMIT) + TDM_INFO("output(%d) got vblank: handler(%p)", private_output->pipe, v); + if (v->func) v->func(v->private_output, sequence, tv_sec, tv_usec, v->user_data); LIST_DEL(&v->link); @@ -1093,6 +1096,9 @@ _tdm_output_wait_vblank(tdm_output *output, int interval, int sync, return TDM_ERROR_OUT_OF_MEMORY; } + if (tdm_debug_module & TDM_DEBUG_COMMIT) + TDM_INFO("output(%d) wait_vblank: handler(%p)", private_output->pipe, vblank_handler); + LIST_FOR_EACH_ENTRY(v, &private_output->vblank_handler_list, link) { if (v->interval == interval && v->sync == sync && v->owner_tid == tid) { skip_request = 1; @@ -1117,6 +1123,9 @@ _tdm_output_wait_vblank(tdm_output *output, int interval, int sync, ret = func_output->output_wait_vblank(private_output->output_backend, interval, sync, vblank_handler); TDM_GOTO_IF_FAIL(ret == TDM_ERROR_NONE, wait_failed); + + if (tdm_debug_module & TDM_DEBUG_COMMIT) + TDM_INFO("output(%d) backend wait_vblank", private_output->pipe); } return ret; @@ -1941,6 +1950,9 @@ _tdm_layer_got_output_vblank(tdm_private_output *private_output, unsigned int se } LIST_FOR_EACH_ENTRY_SAFE(lm, lmm, &clone_list, link) { + if (tdm_debug_module & TDM_DEBUG_COMMIT) + TDM_INFO("layer(%p) committed. handle(%p)", lm->private_layer, (lm)?:NULL); + _tdm_layer_committed(lm->private_layer); _pthread_mutex_unlock(&private_display->lock); if (lm->func) @@ -2013,7 +2025,8 @@ _tdm_layer_cb_output_commit(tdm_output *output, unsigned int sequence, private_layer = layer_commit_handler->private_layer; if (tdm_debug_module & TDM_DEBUG_COMMIT) - TDM_INFO("layer(%p) commit: output(%d) committed", private_layer, private_output->pipe); + TDM_INFO("layer(%p) commit: output(%d) committed. handle(%p)", + private_layer, private_output->pipe, (layer_commit_handler)?:NULL); _pthread_mutex_lock(&private_display->lock); @@ -2080,17 +2093,15 @@ _tdm_layer_commit(tdm_layer *layer, tdm_layer_commit_handler func, void *user_da tdm_private_layer_commit_handler *layer_commit_handler; LAYER_FUNC_ENTRY(); - if (private_layer->committing) - TDM_WRN("layer(%d) too many commit", private_layer->index); - else - private_layer->committing = 1; - layer_commit_handler = calloc(1, sizeof(tdm_private_layer_commit_handler)); if (!layer_commit_handler) { TDM_ERR("failed: alloc memory"); return TDM_ERROR_OUT_OF_MEMORY; } + if (tdm_debug_module & TDM_DEBUG_COMMIT) + TDM_INFO("layer(%p) commit: handle(%p)", private_layer, layer_commit_handler); + LIST_INITHEAD(&layer_commit_handler->link); layer_commit_handler->private_layer = private_layer; layer_commit_handler->func = func; @@ -2108,6 +2119,11 @@ _tdm_layer_commit(tdm_layer *layer, tdm_layer_commit_handler func, void *user_da } else { TDM_GOTO_IF_FAIL(private_display->commit_type == TDM_COMMIT_TYPE_LAYER, commit_failed); + if (private_layer->committing) + TDM_WRN("layer(%d) too many commit", private_layer->index); + else + private_layer->committing = 1; + if (_tdm_layer_commit_possible(private_layer)) { /* add to layer_commit_handler_list */ LIST_ADD(&layer_commit_handler->link, &private_output->layer_commit_handler_list); @@ -2180,9 +2196,6 @@ tdm_layer_commit(tdm_layer *layer, tdm_layer_commit_handler func, void *user_dat return TDM_ERROR_DPMS_OFF; } - if (tdm_debug_module & TDM_DEBUG_COMMIT) - TDM_INFO("layer(%p) commit", private_layer); - ret = _tdm_layer_commit(private_layer, func, user_data); _pthread_mutex_unlock(&private_display->lock); -- 2.7.4