package version up to 1.16.13
[platform/core/uifw/libtdm.git] / src / tdm_hwc_window.c
index 362c798..25692b3 100644 (file)
@@ -9,7 +9,7 @@
  *          Taeheon Kim <th908.kim@samsung.com>,
  *          YoungJun Cho <yj44.cho@samsung.com>,
  *          SooChan Lim <sc1.lim@samsung.com>,
- *          Boram Park <sc1.lim@samsung.com>
+ *          Boram Park <boram1288.park@samsung.com>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the
@@ -39,6 +39,8 @@
 
 #include "tdm_private.h"
 
+/* LCOV_EXCL_START */
+
 #define COUNT_MAX   10
 
 #define HWC_WINDOW_FUNC_ENTRY() \
@@ -74,7 +76,7 @@
 tbm_surface_queue_h
 tdm_hwc_window_get_tbm_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
        tbm_surface_queue_h queue = NULL;
 
@@ -82,17 +84,15 @@ tdm_hwc_window_get_tbm_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_get_tbm_buffer_queue) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                if (error)
                        *error = TDM_ERROR_NOT_IMPLEMENTED;
                return NULL;
-               /* LCOV_EXCL_STOP */
        }
 
        queue = func_hwc_window->hwc_window_get_tbm_buffer_queue(private_hwc_window->hwc_window_backend, error);
@@ -106,7 +106,7 @@ EXTERN tdm_error
 tdm_hwc_window_set_composition_type(tdm_hwc_window *hwc_window,
                                                                        tdm_hwc_window_composition composition_type)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
@@ -115,15 +115,13 @@ tdm_hwc_window_set_composition_type(tdm_hwc_window *hwc_window,
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_set_composition_type) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_set_composition_type(private_hwc_window->hwc_window_backend, composition_type);
@@ -136,7 +134,7 @@ tdm_hwc_window_set_composition_type(tdm_hwc_window *hwc_window,
 EXTERN tdm_error
 tdm_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region damage)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
@@ -145,15 +143,13 @@ tdm_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region dama
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_set_buffer_damage) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_set_buffer_damage(private_hwc_window->hwc_window_backend, damage);
@@ -167,7 +163,7 @@ tdm_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region dama
 EXTERN tdm_error
 tdm_hwc_window_set_info(tdm_hwc_window *hwc_window, tdm_hwc_window_info *info)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
        char fmtstr[128];
 
@@ -177,15 +173,13 @@ tdm_hwc_window_set_info(tdm_hwc_window *hwc_window, tdm_hwc_window_info *info)
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_set_info) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        if (info->src_config.format)
@@ -212,7 +206,7 @@ tdm_hwc_window_set_info(tdm_hwc_window *hwc_window, tdm_hwc_window_info *info)
 EXTERN tdm_error
 tdm_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h buffer)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window;
 
        HWC_WINDOW_FUNC_ENTRY();
@@ -220,23 +214,19 @@ tdm_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h buffer)
        _pthread_mutex_lock(&private_display->lock);
 
        if ((tdm_debug_dump & TDM_DUMP_FLAG_WINDOW) && buffer) {
-               /* LCOV_EXCL_START */
                char str[TDM_PATH_LEN];
                static int i;
                snprintf(str, TDM_PATH_LEN, "window_%d_%03d", private_output->index, i++);
                tdm_helper_dump_buffer_str(buffer, tdm_debug_dump_dir, str);
-               /* LCOV_EXCL_STOP */
        }
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_set_buffer) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_set_buffer(private_hwc_window->hwc_window_backend, buffer);
@@ -249,22 +239,20 @@ tdm_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h buffer)
 EXTERN tdm_error
 tdm_hwc_window_unset_buffer(tdm_hwc_window *hwc_window)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window;
 
        HWC_WINDOW_FUNC_ENTRY();
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_unset_buffer) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_ERR("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_unset_buffer(private_hwc_window->hwc_window_backend);
@@ -279,8 +267,8 @@ tdm_hwc_window_create_internal(tdm_private_output *private_output, int is_video,
                                                                   tdm_error *error)
 {
        tdm_private_display *private_display = private_output->private_display;
-       tdm_private_backend *private_backend = private_output->private_backend;
-       tdm_func_output *func_output = &private_backend->func_output;
+       tdm_private_module *private_module = private_output->private_module;
+       tdm_func_output *func_output = &private_module->func_output;
        tdm_private_hwc_window *private_hwc_window = NULL;
        tdm_hwc_window *hwc_window_backend = NULL;
        tdm_error ret = TDM_ERROR_NONE;
@@ -289,11 +277,9 @@ tdm_hwc_window_create_internal(tdm_private_output *private_output, int is_video,
 
        if (!is_video) {
                if (!func_output->output_hwc_create_window) {
-                       /* LCOV_EXCL_START */
                        if (error)
                                *error = TDM_ERROR_BAD_MODULE;
                        return NULL;
-                       /* LCOV_EXCL_STOP */
                }
 
                hwc_window_backend = func_output->output_hwc_create_window(
@@ -305,11 +291,9 @@ tdm_hwc_window_create_internal(tdm_private_output *private_output, int is_video,
                }
        } else {
                if (!func_output->output_hwc_create_video_window) {
-                       /* LCOV_EXCL_START */
                        if (error)
                                *error = TDM_ERROR_NOT_IMPLEMENTED;
                        return NULL;
-                       /* LCOV_EXCL_STOP */
                }
 
                hwc_window_backend = func_output->output_hwc_create_video_window(
@@ -323,13 +307,11 @@ tdm_hwc_window_create_internal(tdm_private_output *private_output, int is_video,
 
        private_hwc_window = calloc(1, sizeof(tdm_private_hwc_window));
        if (!private_hwc_window) {
-               /* LCOV_EXCL_START */
                TDM_ERR("failed: alloc memory");
                func_output->output_hwc_destroy_window(private_output->output_backend, hwc_window_backend);
                if (error)
                        *error = TDM_ERROR_OUT_OF_MEMORY;
                return NULL;
-               /* LCOV_EXCL_STOP */
        }
 
        LIST_ADD(&private_hwc_window->link, &private_output->hwc_window_list);
@@ -350,7 +332,7 @@ INTERN tdm_error
 tdm_hwc_window_destroy_internal(tdm_private_hwc_window * private_hwc_window)
 {
        tdm_private_output *private_output;
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_output *func_output;
 
        TDM_RETURN_VAL_IF_FAIL(TDM_MUTEX_IS_LOCKED(), TDM_ERROR_OPERATION_FAILED);
@@ -359,11 +341,11 @@ tdm_hwc_window_destroy_internal(tdm_private_hwc_window * private_hwc_window)
                return TDM_ERROR_OPERATION_FAILED;
 
        private_output = private_hwc_window->private_output;
-       private_backend = private_output->private_backend;
+       private_module = private_output->private_module;
 
        LIST_DEL(&private_hwc_window->link);
 
-       func_output = &private_backend->func_output;
+       func_output = &private_module->func_output;
        func_output->output_hwc_destroy_window(private_output->output_backend, private_hwc_window->hwc_window_backend);
 
        free(private_hwc_window);
@@ -373,22 +355,20 @@ tdm_hwc_window_destroy_internal(tdm_private_hwc_window * private_hwc_window)
 EXTERN tdm_error
 tdm_hwc_window_set_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_set_flags) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_set_flags(private_hwc_window->hwc_window_backend, flags);
@@ -401,22 +381,20 @@ tdm_hwc_window_set_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags)
 EXTERN tdm_error
 tdm_hwc_window_unset_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_unset_flags) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_unset_flags(private_hwc_window->hwc_window_backend, flags);
@@ -444,7 +422,7 @@ _tdm_hwc_window_layer_commit_handler(tdm_layer *layer, unsigned int sequence,
 tdm_error
 tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler func, void *user_data)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
        tdm_private_hwc_window_commit_handler *hwc_window_commit_handler;
        tdm_layer *layer = NULL;
@@ -457,25 +435,21 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_get_layer) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_ERR("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        layer = func_hwc_window->hwc_window_get_layer(private_hwc_window->hwc_window_backend,
                                                                                                                   &ret);
        if (!layer) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_ERR("no assigned layer!!");
                return TDM_ERROR_INVALID_PARAMETER;
-               /* LCOV_EXCL_STOP */
        }
 
        private_layer = (tdm_private_layer*)layer;
@@ -487,36 +461,32 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler
        else
                ret = tdm_layer_unset_buffer_internal(private_layer);
        if (ret != TDM_ERROR_NONE) {
-               /* LCOV_EXCL_START */
                TDM_ERR("failed: layer set buffer(window)");
-               /* LCOV_EXCL_STOP */
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }
 
        ret = func_hwc_window->hwc_window_get_info(private_hwc_window->hwc_window_backend,
                                                                                                                   &window_info);
        if (ret != TDM_ERROR_NONE) {
-               /* LCOV_EXCL_START */
                TDM_ERR("failed: commit layer(window)");
-               /* LCOV_EXCL_STOP */
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }
 
        info_layer = (tdm_info_layer *)&window_info;
        ret = tdm_layer_set_info_internal(private_layer, info_layer);
        if (ret != TDM_ERROR_NONE) {
-               /* LCOV_EXCL_START */
                TDM_ERR("failed: layer set info(window)");
-               /* LCOV_EXCL_STOP */
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }
 
        hwc_window_commit_handler = calloc(1, sizeof(tdm_private_hwc_window_commit_handler));
        if (!hwc_window_commit_handler) {
-               /* LCOV_EXCL_START */
                TDM_ERR("failed: alloc memory");
+               _pthread_mutex_unlock(&private_display->lock);
                return TDM_ERROR_OUT_OF_MEMORY;
-               /* LCOV_EXCL_STOP */
        }
 
        hwc_window_commit_handler->private_hwc_window = private_hwc_window;
@@ -525,10 +495,9 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler
 
        ret = tdm_layer_commit_internal(private_layer, _tdm_hwc_window_layer_commit_handler, hwc_window_commit_handler);
        if (ret != TDM_ERROR_NONE) {
-               /* LCOV_EXCL_START */
                TDM_ERR("failed: commit layer(window)");
                free(hwc_window_commit_handler);
-               /* LCOV_EXCL_STOP */
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }
 
@@ -541,7 +510,7 @@ EXTERN tdm_error
 tdm_hwc_window_video_get_capability(tdm_hwc_window *hwc_window,
                                                                        tdm_hwc_window_video_capability *video_capability)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
@@ -550,15 +519,13 @@ tdm_hwc_window_video_get_capability(tdm_hwc_window *hwc_window,
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_video_get_capability) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_video_get_capability(private_hwc_window->hwc_window_backend,
@@ -573,7 +540,7 @@ EXTERN tdm_error
 tdm_hwc_window_video_get_available_properties(tdm_hwc_window *hwc_window,
                                                                                          const tdm_prop **props, int *count)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
@@ -583,15 +550,13 @@ tdm_hwc_window_video_get_available_properties(tdm_hwc_window *hwc_window,
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_video_get_available_properties) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_video_get_available_properties(private_hwc_window->hwc_window_backend,
@@ -606,7 +571,7 @@ EXTERN tdm_error
 tdm_hwc_window_video_get_property(tdm_hwc_window *hwc_window,
                                                                        unsigned int id, tdm_value *value)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
@@ -615,15 +580,13 @@ tdm_hwc_window_video_get_property(tdm_hwc_window *hwc_window,
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_video_get_property) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_video_get_property(private_hwc_window->hwc_window_backend,
@@ -638,22 +601,20 @@ EXTERN tdm_error
 tdm_hwc_window_video_set_property(tdm_hwc_window *hwc_window,
                                                                        unsigned int id, tdm_value value)
 {
-       tdm_private_backend *private_backend;
+       tdm_private_module *private_module;
        tdm_func_hwc_window *func_hwc_window = NULL;
 
        HWC_WINDOW_FUNC_ENTRY();
 
        _pthread_mutex_lock(&private_display->lock);
 
-       private_backend = private_output->private_backend;
-       func_hwc_window = &private_backend->func_hwc_window;
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
 
        if (!func_hwc_window->hwc_window_video_set_property) {
-               /* LCOV_EXCL_START */
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
-               /* LCOV_EXCL_STOP */
        }
 
        ret = func_hwc_window->hwc_window_video_set_property(private_hwc_window->hwc_window_backend,
@@ -663,3 +624,4 @@ tdm_hwc_window_video_set_property(tdm_hwc_window *hwc_window,
 
        return ret;
 }
+/* LCOV_EXCL_STOP */
\ No newline at end of file