common: remove unuseful functions
[platform/core/uifw/libtdm.git] / src / tdm_output.c
index 652e262..b66c27b 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
@@ -45,7 +45,7 @@
        tdm_private_display *private_display; \
        tdm_private_output *private_output; \
        tdm_error ret = TDM_ERROR_NONE; /* default TDM_ERROR_NONE */\
-       TDM_RETURN_VAL_IF_FAIL(tdm_output_is_valid(output), TDM_ERROR_INVALID_PARAMETER); \
+       TDM_RETURN_VAL_IF_FAIL(output != NULL, TDM_ERROR_INVALID_PARAMETER); \
        private_output = (tdm_private_output*)output; \
        private_display = private_output->private_display
 
@@ -53,7 +53,7 @@
        tdm_private_display *private_display; \
        tdm_private_output *private_output; \
        tdm_error ret = TDM_ERROR_NONE; /* default TDM_ERROR_NONE */\
-       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(tdm_output_is_valid(output), TDM_ERROR_INVALID_PARAMETER, NULL); \
+       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(output != NULL, TDM_ERROR_INVALID_PARAMETER, NULL); \
        private_output = (tdm_private_output*)output; \
        private_display = private_output->private_display
 
@@ -269,7 +269,7 @@ _tdm_output_call_thread_cb_status(tdm_private_output *private_output, tdm_output
        output_status.base.sync = 1;
        output_status.status = status;
 
-       ret = tdm_thread_cb_call(private_output, &output_status.base);
+       ret = tdm_thread_cb_call(private_output, &output_status.base, 1);
        TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
 
        return TDM_ERROR_NONE;
@@ -289,7 +289,7 @@ _tdm_output_call_thread_cb_dpms(tdm_private_output *private_output, tdm_output_d
        output_dpms.base.sync = 0;
        output_dpms.dpms = dpms;
 
-       ret = tdm_thread_cb_call(private_output, &output_dpms.base);
+       ret = tdm_thread_cb_call(private_output, &output_dpms.base, 1);
        TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
 
        return TDM_ERROR_NONE;
@@ -404,7 +404,7 @@ tdm_output_remove_change_handler(tdm_output *output,
        tdm_private_output *private_output;
        tdm_private_output_change_handler *change_handler = NULL, *hh = NULL;
 
-       TDM_RETURN_IF_FAIL(tdm_output_is_valid(output));
+       TDM_RETURN_IF_FAIL(output != NULL);
        TDM_RETURN_IF_FAIL(func != NULL);
 
        private_output = (tdm_private_output*)output;
@@ -811,7 +811,7 @@ _tdm_output_cb_vblank(tdm_output *output_backend, unsigned int sequence,
        if (tdm_debug_module & TDM_DEBUG_COMMIT)
                TDM_INFO("output(%d) wait_vblank: handler(%p)", vblank_handler->private_output->pipe, vblank_handler);
 
-       ret = tdm_thread_cb_call(vblank_handler->private_output, &output_vblank.base);
+       ret = tdm_thread_cb_call(vblank_handler->private_output, &output_vblank.base, 1);
        TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
 }
 
@@ -887,7 +887,7 @@ _tdm_output_cb_commit(tdm_output *output_backend, unsigned int sequence,
        output_commit.tv_sec = tv_sec;
        output_commit.tv_usec = tv_usec;
 
-       ret = tdm_thread_cb_call(private_output, &output_commit.base);
+       ret = tdm_thread_cb_call(private_output, &output_commit.base, 1);
        TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
 }
 
@@ -1112,7 +1112,7 @@ tdm_output_commit_internal(tdm_output *output, int sync, tdm_output_commit_handl
        tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_ON;
        tdm_error ret = TDM_ERROR_NONE;
 
-       TDM_RETURN_VAL_IF_FAIL(tdm_output_is_valid(output), TDM_ERROR_INVALID_PARAMETER);
+       TDM_RETURN_VAL_IF_FAIL(output != NULL, TDM_ERROR_INVALID_PARAMETER);
 
        private_output = (tdm_private_output*)output;
        private_module = private_output->private_module;
@@ -1160,6 +1160,16 @@ tdm_output_commit_internal(tdm_output *output, int sync, tdm_output_commit_handl
                                output_commit_handler);
                TDM_GOTO_IF_FAIL(ret == TDM_ERROR_NONE, commit_failed);
 
+               if (ret == TDM_ERROR_NONE) {
+                       if (private_output->current_mode &&
+                               private_output->caps.status != TDM_OUTPUT_CONN_STATUS_MODE_SETTED) {
+                               TDM_WRN("backend doesn't change the output connection status");
+                               tdm_output_cb_status(private_output->output_backend,
+                                                                        TDM_OUTPUT_CONN_STATUS_MODE_SETTED,
+                                                                        private_output);
+                       }
+               }
+
                if (tdm_debug_module & TDM_DEBUG_COMMIT)
                        TDM_INFO("output(%d) backend commit: handle(%p) func(%p) user_data(%p)",
                                        private_output->pipe, output_commit_handler, func, user_data);
@@ -1172,8 +1182,14 @@ tdm_output_commit_internal(tdm_output *output, int sync, tdm_output_commit_handl
                if (!private_layer->waiting_buffer)
                        continue;
 
-               if (private_layer->committed_buffer)
+               if (private_layer->committed_buffer) {
                        tdm_layer_free_buffer(private_layer, private_layer->committed_buffer);
+                       private_layer->committed_buffer = NULL;
+                       if (tdm_debug_module & TDM_DEBUG_BUFFER)
+                               TDM_INFO("layer(%p) waiting_buffer(%p) committed_buffer(%p)",
+                                                private_layer, private_layer->waiting_buffer->buffer,
+                                                private_layer->committed_buffer);
+               }
 
                private_layer->committed_buffer = private_layer->waiting_buffer;
                private_layer->waiting_buffer = NULL;
@@ -1346,8 +1362,8 @@ done:
                if (private_output->current_dpms_value != dpms_value) {
                        private_output->current_dpms_value = dpms_value;
                        _tdm_output_call_thread_cb_dpms(private_output, dpms_value);
-                       TDM_INFO("output(%d) dpms '%s' done", private_output->pipe, tdm_dpms_str(dpms_value));
                }
+               TDM_INFO("output(%d) dpms '%s' done", private_output->pipe, tdm_dpms_str(dpms_value));
        } else {
                tdm_output_dpms temp = TDM_OUTPUT_DPMS_OFF;
 
@@ -1451,7 +1467,7 @@ tdm_output_get_dpms_internal(tdm_output *output, tdm_output_dpms *dpms_value)
        tdm_func_output *func_output;
        tdm_error ret = TDM_ERROR_NONE;
 
-       TDM_RETURN_VAL_IF_FAIL(tdm_output_is_valid(output), TDM_ERROR_INVALID_PARAMETER);
+       TDM_RETURN_VAL_IF_FAIL(output != NULL, TDM_ERROR_INVALID_PARAMETER);
 
        private_output = (tdm_private_output*)output;
 
@@ -2164,7 +2180,7 @@ _need_validate_handler(int fd, tdm_event_loop_mask mask, void *user_data)
        ev.base.data = NULL;
        ev.base.sync = 0;
 
-       ret = tdm_thread_cb_call(private_output, &ev.base);
+       ret = tdm_thread_cb_call(private_output, &ev.base, 1);
        TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
 
        TDM_INFO("tdm-thread: get a 'need to revalidate' event for the ouptut:%p.", private_output);