layer: add tdm_layer_set_info_internal 90/169890/4
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 12 Feb 2018 01:45:19 +0000 (10:45 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 12 Feb 2018 07:28:53 +0000 (07:28 +0000)
Change-Id: I66f1c28cd95b2355e7a98387abf8c048c07d2e24

src/tdm_layer.c
src/tdm_private.h

index 8ef46a6..b942b8f 100644 (file)
@@ -205,18 +205,14 @@ tdm_layer_get_property(tdm_layer *layer, unsigned int id, tdm_value *value)
        return ret;
 }
 
-EXTERN tdm_error
-tdm_layer_set_info(tdm_layer *layer, tdm_info_layer *info)
+INTERN tdm_error
+tdm_layer_set_info_internal(tdm_private_layer *private_layer, tdm_info_layer *info)
 {
+       tdm_private_output *private_output = private_layer->private_output;
+       tdm_private_display *private_display = private_output->private_display;
        tdm_func_layer *func_layer;
        char fmtstr[128];
 
-       LAYER_FUNC_ENTRY();
-
-       TDM_RETURN_VAL_IF_FAIL(info != NULL, TDM_ERROR_INVALID_PARAMETER);
-
-       _pthread_mutex_lock(&private_display->lock);
-
        func_layer = &private_display->func_layer;
 
        if (private_layer->usable)
@@ -226,7 +222,6 @@ tdm_layer_set_info(tdm_layer *layer, tdm_info_layer *info)
 
        if (!func_layer->layer_set_info) {
                /* LCOV_EXCL_START */
-               _pthread_mutex_unlock(&private_display->lock);
                TDM_ERR("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
                /* LCOV_EXCL_STOP */
@@ -249,6 +244,20 @@ tdm_layer_set_info(tdm_layer *layer, tdm_info_layer *info)
        private_layer->pending_info_changed = 1;
        private_layer->pending_info = *info;
 
+       return TDM_ERROR_NONE;
+}
+
+EXTERN tdm_error
+tdm_layer_set_info(tdm_layer *layer, tdm_info_layer *info)
+{
+       LAYER_FUNC_ENTRY();
+
+       TDM_RETURN_VAL_IF_FAIL(info != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+       _pthread_mutex_lock(&private_display->lock);
+
+       ret = tdm_layer_set_info_internal(private_layer, info);
+
        _pthread_mutex_unlock(&private_display->lock);
 
        return ret;
index 6cf2a6d..d2565ae 100644 (file)
@@ -139,6 +139,8 @@ tdm_error
 tdm_layer_commit_pending_data(tdm_private_layer *private_layer);
 void
 tdm_layer_committed(tdm_private_layer *private_layer, tdm_private_layer_buffer **committed_buffer);
+tdm_error
+tdm_layer_set_info_internal(tdm_private_layer *private_layer, tdm_info_layer *info);
 
 void
 tdm_pp_cb_done(tdm_pp *pp_backend, tbm_surface_h src, tbm_surface_h dst,