output: change error value & add logs for debugging 90/159090/2
authorBoram Park <boram1288.park@samsung.com>
Tue, 7 Nov 2017 02:40:50 +0000 (11:40 +0900)
committerBoram Park <boram1288.park@samsung.com>
Tue, 7 Nov 2017 07:11:24 +0000 (16:11 +0900)
Change-Id: Icbdd17b5ad65af3c4ca273641825463e7fc2aab3

src/tdm_output.c

index 54178f2..3dd945c 100644 (file)
@@ -299,9 +299,10 @@ tdm_output_get_layer_count(tdm_output *output, int *count)
        _pthread_mutex_lock(&private_display->lock);
 
        if (private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC) {
+               TDM_ERR("output(%p) support HWC. Use HWC functions", private_output);
                *count = 0;
                _pthread_mutex_unlock(&private_display->lock);
-               return TDM_ERROR_NONE;
+               return TDM_ERROR_BAD_REQUEST;
        }
 
        *count = 0;
@@ -332,8 +333,9 @@ tdm_output_get_layer(tdm_output *output, int index, tdm_error *error)
 
        if (private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC) {
                _pthread_mutex_unlock(&private_display->lock);
+               TDM_ERR("output(%p) support HWC. Use HWC functions", private_output);
                if (error)
-                       *error = TDM_ERROR_INVALID_PARAMETER;
+                       *error = TDM_ERROR_BAD_REQUEST;
                return NULL;
        }
 
@@ -1349,9 +1351,11 @@ tdm_output_hwc_create_window(tdm_output *output, tdm_error *error)
 
        if (private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)
                hwc_window = (tdm_hwc_window *)tdm_hwc_window_create_internal(private_output, error);
-       else
+       else {
+               TDM_ERR("output(%p) not support HWC", private_output);
                if (error)
                        *error = TDM_ERROR_BAD_REQUEST;
+       }
 
        _pthread_mutex_unlock(&private_display->lock);
 
@@ -1385,6 +1389,12 @@ tdm_output_hwc_validate(tdm_output *output, uint32_t *num_types)
 
        _pthread_mutex_lock(&private_display->lock);
 
+       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)) {
+               TDM_ERR("output(%p) not support HWC", private_output);
+               _pthread_mutex_unlock(&private_display->lock);
+               return TDM_ERROR_BAD_REQUEST;
+       }
+
        func_output = &private_display->func_output;
 
        if (!func_output->output_hwc_validate) {
@@ -1410,6 +1420,12 @@ tdm_output_hwc_set_need_validate_handler(tdm_output *output,
 
        _pthread_mutex_lock(&private_display->lock);
 
+       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)) {
+               TDM_ERR("output(%p) not support HWC", private_output);
+               _pthread_mutex_unlock(&private_display->lock);
+               return TDM_ERROR_BAD_REQUEST;
+       }
+
        /* there's no reason to allow this */
        if (private_output->need_validate.hndl) {
 
@@ -1440,6 +1456,12 @@ tdm_output_hwc_get_changed_composition_types(tdm_output *output,
 
        _pthread_mutex_lock(&private_display->lock);
 
+       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)) {
+               TDM_ERR("output(%p) not support HWC", private_output);
+               _pthread_mutex_unlock(&private_display->lock);
+               return TDM_ERROR_BAD_REQUEST;
+       }
+
        func_output = &private_display->func_output;
 
        if (!func_output->output_hwc_get_changed_composition_types) {
@@ -1489,6 +1511,12 @@ tdm_output_hwc_accept_changes(tdm_output *output)
 
        _pthread_mutex_lock(&private_display->lock);
 
+       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)) {
+               TDM_ERR("output(%p) not support HWC", private_output);
+               _pthread_mutex_unlock(&private_display->lock);
+               return TDM_ERROR_BAD_REQUEST;
+       }
+
        func_output = &private_display->func_output;
 
        if (!func_output->output_hwc_validate) {
@@ -1514,6 +1542,14 @@ tdm_output_hwc_get_target_buffer_queue(tdm_output *output, tdm_error *error)
 
        _pthread_mutex_lock(&private_display->lock);
 
+       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)) {
+               TDM_ERR("output(%p) not support HWC", private_output);
+               if (error)
+                       *error = TDM_ERROR_BAD_REQUEST;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+
        func_output = &private_display->func_output;
 
        if (!func_output->output_hwc_get_target_buffer_queue) {
@@ -1555,6 +1591,12 @@ tdm_output_hwc_set_client_target_buffer(tdm_output *output, tbm_surface_h target
 
        _pthread_mutex_lock(&private_display->lock);
 
+       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)) {
+               TDM_ERR("output(%p) not support HWC", private_output);
+               _pthread_mutex_unlock(&private_display->lock);
+               return TDM_ERROR_BAD_REQUEST;
+       }
+
        if (tdm_debug_dump & TDM_DUMP_FLAG_WINDOW) {
                char str[TDM_PATH_LEN];
                static int i;
@@ -1666,8 +1708,10 @@ tdm_output_need_validate_event_init(tdm_output *output)
 
        TDM_RETURN_VAL_IF_FAIL(TDM_MUTEX_IS_LOCKED(), TDM_ERROR_OPERATION_FAILED);
 
-       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC))
-               return TDM_ERROR_NONE;
+       if (!(private_output->caps.capabilities & TDM_OUTPUT_CAPABILITY_HWC)) {
+               TDM_ERR("output(%p) not support HWC", private_output);
+               return TDM_ERROR_BAD_REQUEST;
+       }
 
        /* build in eventfd fds into event_loop listened & handled by the tdm-thread */
        fd = eventfd(0, 0);