TDM_NEVER_GET_HERE();
if (tdm_debug_dump & TDM_DUMP_FLAG_PP) {
+ /* LCOV_EXCL_START */
char str[TDM_PATH_LEN];
static int i;
snprintf(str, TDM_PATH_LEN, "pp_dst_%03d", i++);
tdm_helper_dump_buffer_str(dst, tdm_debug_dump_dir, str);
+ /* LCOV_EXCL_STOP */
}
- if (tdm_debug_module & TDM_DEBUG_BUFFER)
- TDM_INFO("pp(%p) done: src(%p) dst(%p)", private_pp, src, dst);
-
if (!LIST_IS_EMPTY(&private_pp->buffer_list)) {
first_entry = container_of((&private_pp->buffer_list)->next, pp_buffer, link);
if (first_entry->src != src || first_entry->dst != dst)
LIST_DEL(&pp_buffer->link);
LIST_DELINIT(&pp_buffer->commit_link);
+ if (tdm_debug_module & TDM_DEBUG_BUFFER)
+ TDM_INFO("pp(%p) done: src(%p) dst(%p)", private_pp, src, dst);
+
+ if (tdm_ttrace_module & TDM_TTRACE_PP) {
+ tbm_bo bo = tbm_surface_internal_get_bo(dst, 0);
+ TDM_TRACE_ASYNC_END((int)private_pp, "[PP] %d", tbm_bo_export(bo));
+ }
+
_pthread_mutex_unlock(&private_display->lock);
if (private_pp->done_func)
private_pp->done_func(private_pp, src, dst, private_pp->done_user_data);
func_pp = &private_display->func_pp;
if (!(private_display->capabilities & TDM_DISPLAY_CAPABILITY_PP)) {
+ /* LCOV_EXCL_START */
TDM_ERR("no pp capability");
if (error)
*error = TDM_ERROR_NO_CAPABILITY;
return NULL;
+ /* LCOV_EXCL_STOP */
}
pp_backend = func_display->display_create_pp(private_display->bdata, &ret);
if (ret != TDM_ERROR_NONE) {
+ /* LCOV_EXCL_START */
if (error)
*error = ret;
return NULL;
+ /* LCOV_EXCL_STOP */
}
private_pp = calloc(1, sizeof(tdm_private_pp));
if (!private_pp) {
+ /* LCOV_EXCL_START */
TDM_ERR("failed: alloc memory");
func_pp->pp_destroy(pp_backend);
if (error)
*error = TDM_ERROR_OUT_OF_MEMORY;
return NULL;
+ /* LCOV_EXCL_STOP */
}
ret = func_pp->pp_set_done_handler(pp_backend, tdm_pp_cb_done, private_pp);
if (ret != TDM_ERROR_NONE) {
+ /* LCOV_EXCL_START */
TDM_ERR("spp(%p) et pp_done_handler failed", private_pp);
func_pp->pp_destroy(pp_backend);
if (error)
*error = ret;
return NULL;
+ /* LCOV_EXCL_STOP */
}
private_pp->stamp = tdm_helper_get_time();
_pthread_mutex_unlock(&private_display->lock);
LIST_FOR_EACH_ENTRY_SAFE(b, bb, &clone_list, link) {
LIST_DEL(&b->link);
+
+ if (tdm_ttrace_module & TDM_TTRACE_PP) {
+ tbm_bo bo = tbm_surface_internal_get_bo(b->dst, 0);
+ TDM_TRACE_ASYNC_END((int)private_pp, "[PP] %d", tbm_bo_export(bo));
+ }
+
tdm_buffer_unref_backend(b->src);
tdm_buffer_unref_backend(b->dst);
free(b);
_pthread_mutex_unlock(&private_display->lock);
LIST_FOR_EACH_ENTRY_SAFE(b, bb, &clone_list, link) {
LIST_DEL(&b->link);
+
+ if (tdm_ttrace_module & TDM_TTRACE_PP) {
+ tbm_bo bo = tbm_surface_internal_get_bo(b->dst, 0);
+ TDM_TRACE_ASYNC_END((int)private_pp, "[PP] %d", tbm_bo_export(bo));
+ }
+
tdm_buffer_unref_backend(b->src);
tdm_buffer_unref_backend(b->dst);
free(b);
_pthread_mutex_lock(&private_display->lock);
if (!func_pp->pp_set_info) {
+ /* LCOV_EXCL_START */
_pthread_mutex_unlock(&private_display->lock);
TDM_DBG("failed: not implemented!!");
return TDM_ERROR_NOT_IMPLEMENTED;
+ /* LCOV_EXCL_STOP */
}
TDM_INFO("pp(%p) info: src(%dx%d %d,%d %dx%d %c%c%c%c) dst(%dx%d %d,%d %dx%d %c%c%c%c) trans(%d) sync(%d) flags(%x)",
_pthread_mutex_lock(&private_display->lock);
if (!func_pp->pp_attach) {
+ /* LCOV_EXCL_START */
_pthread_mutex_unlock(&private_display->lock);
TDM_DBG("failed: not implemented!!");
return TDM_ERROR_NOT_IMPLEMENTED;
+ /* LCOV_EXCL_STOP */
}
if (tdm_display_check_module_abi(private_display, 1, 2) &&
private_display->caps_pp.max_attach_count > 0) {
+ /* LCOV_EXCL_START */
int length = LIST_LENGTH(&private_pp->pending_buffer_list) +
LIST_LENGTH(&private_pp->buffer_list);
if (length >= private_display->caps_pp.max_attach_count) {
private_display->caps_pp.max_attach_count);
return TDM_ERROR_BAD_REQUEST;
}
+ /* LCOV_EXCL_STOP */
}
if (tdm_debug_dump & TDM_DUMP_FLAG_PP) {
+ /* LCOV_EXCL_START */
char str[TDM_PATH_LEN];
static int i;
snprintf(str, TDM_PATH_LEN, "pp_src_%03d", i++);
tdm_helper_dump_buffer_str(src, tdm_debug_dump_dir, str);
+ /* LCOV_EXCL_STOP */
}
pp_buffer = calloc(1, sizeof * pp_buffer);
if (!pp_buffer) {
+ /* LCOV_EXCL_START */
_pthread_mutex_unlock(&private_display->lock);
TDM_ERR("alloc failed");
return TDM_ERROR_OUT_OF_MEMORY;
+ /* LCOV_EXCL_STOP */
}
ret = func_pp->pp_attach(private_pp->pp_backend, src, dst);
TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
if (ret != TDM_ERROR_NONE) {
+ /* LCOV_EXCL_START */
free(pp_buffer);
_pthread_mutex_unlock(&private_display->lock);
TDM_ERR("attach failed");
return ret;
+ /* LCOV_EXCL_STOP */
}
LIST_ADDTAIL(&pp_buffer->link, &private_pp->pending_buffer_list);
_tdm_pp_print_list(&private_pp->pending_buffer_list);
}
+ if (tdm_ttrace_module & TDM_TTRACE_PP) {
+ tbm_bo bo = tbm_surface_internal_get_bo(dst, 0);
+ TDM_TRACE_ASYNC_BEGIN((int)pp, "[PP] %d", tbm_bo_export(bo));
+ }
+
_pthread_mutex_unlock(&private_display->lock);
return ret;
_pthread_mutex_lock(&private_display->lock);
if (!func_pp->pp_commit) {
+ /* LCOV_EXCL_START */
_pthread_mutex_unlock(&private_display->lock);
TDM_DBG("failed: not implemented!!");
return TDM_ERROR_NOT_IMPLEMENTED;
+ /* LCOV_EXCL_STOP */
}
LIST_INITHEAD(&commit_buffer_list);