tbm_bo: do not print error if return value is NOT_SUPPORTED
[platform/core/uifw/libtbm.git] / src / tbm_bo.c
index db05ef7..eb188f1 100644 (file)
@@ -157,10 +157,14 @@ _bo_lock(tbm_bo bo, int device, int opt)
 
        if (bo->bufmgr->use_hal_tbm) {
                error = (tbm_error_e)hal_tbm_bo_lock((hal_tbm_bo *)bo->bo_data, device, opt);
-               if (error != TBM_ERROR_NONE) {
-                       TBM_WRN("fail to lock");
-                       _tbm_set_last_result(error);
-                       ret = 0;
+               if (error == TBM_ERROR_NOT_SUPPORTED) {
+                       _tbm_set_last_result(TBM_ERROR_NONE);
+               } else {
+                       if (error != TBM_ERROR_NONE) {
+                               TBM_WRN("fail to lock");
+                               _tbm_set_last_result(error);
+                               ret = 0;
+                       }
                }
        } else if (bo->bufmgr->backend_module_data) {
                if (bo->bufmgr->bo_func->bo_lock) {
@@ -189,9 +193,13 @@ _bo_unlock(tbm_bo bo)
 
        if (bo->bufmgr->use_hal_tbm) {
                error = (tbm_error_e)hal_tbm_bo_unlock((hal_tbm_bo *)bo->bo_data);
-               if (error != TBM_ERROR_NONE) {
-                       TBM_WRN("fail to lock");
-                       _tbm_set_last_result(error);
+               if (error == TBM_ERROR_NOT_SUPPORTED) {
+                       _tbm_set_last_result(TBM_ERROR_NONE);
+               } else {
+                       if (error != TBM_ERROR_NONE) {
+                               TBM_WRN("fail to lock");
+                               _tbm_set_last_result(error);
+                       }
                }
        } else if (bo->bufmgr->backend_module_data) {
                if (bo->bufmgr->bo_func->bo_unlock) {
@@ -448,10 +456,15 @@ tbm_bo_alloc_with_format(tbm_bufmgr bufmgr, int format, int bo_idx, int width,
        /* LCOV_EXCL_STOP */
 
        if (bufmgr->use_hal_tbm) {
+               hal_tbm_error ret;
                bo_data = (tbm_backend_bo_data *)hal_tbm_bufmgr_alloc_bo_with_format(bufmgr->hal_bufmgr,
-                                                               format, bo_idx, width, height, (hal_tbm_bo_memory_type)flags, (hal_tbm_error *)error);
-               if (!bo_data) {
-                       TBM_ERR("error: fail to tbm_bo_alloc_with_format\n");
+                                                               format, bo_idx, width, height, (hal_tbm_bo_memory_type)flags, &ret);
+               if (error)
+                       *error = (tbm_error_e)ret;
+               if (ret != HAL_TBM_ERROR_NONE) {
+                       if (ret != HAL_TBM_ERROR_NOT_SUPPORTED) {
+                               TBM_ERR("error: fail to tbm_bo_alloc_with_format\n");
+                       }
                        _tbm_set_last_result(*error);
                        goto bo_alloc_fail;
                }
@@ -507,25 +520,33 @@ tbm_bo_alloc_with_tiled_format(tbm_bufmgr bufmgr, int width, int height, int bpp
                if (!bufmgr->backend_module_data || !bufmgr->bufmgr_func->bufmgr_alloc_bo_with_tiled_format) {
                        TBM_ERR("error: not supported tbm_bo_alloc_with_tiled_format\n");
                        _tbm_set_last_result(TBM_ERROR_NOT_SUPPORTED);
-                       free(bo);
-                       _tbm_bufmgr_mutex_unlock();
-                       return NULL;
+                       goto bo_alloc_fail;
                }
        }
 
-       if (bufmgr->use_hal_tbm)
+       if (bufmgr->use_hal_tbm) {
+               hal_tbm_error ret;
                bo_data = (tbm_backend_bo_data *)hal_tbm_bufmgr_alloc_bo_with_tiled_format(bufmgr->hal_bufmgr,
-                                                               width, height, bpp, format, (hal_tbm_bo_memory_type)flags, bo_idx, (hal_tbm_error *)error);
-       else
+                                                               width, height, bpp, format, (hal_tbm_bo_memory_type)flags, bo_idx, &ret);
+               if (error)
+                       *error = (tbm_error_e)ret;
+               if (ret != HAL_TBM_ERROR_NONE) {
+                       if (ret != HAL_TBM_ERROR_NOT_SUPPORTED) {
+                               TBM_ERR("error: fail to tbm_bo_alloc_with_tiled_format fmt(%s) idx(%d) w(%d) h(%d) flags(%s)\n",
+                                       FOURCC_STR(format), bo_idx, width, height, _tbm_flag_to_str(flags));
+                       }
+                       _tbm_set_last_result(*error);
+                       goto bo_alloc_fail;
+               }
+       } else {
                bo_data = bufmgr->bufmgr_func->bufmgr_alloc_bo_with_tiled_format(bufmgr->bufmgr_data, width, height,
                                                                                                                                        bpp, format, flags, bo_idx, error);
-       if (!bo_data) {
-               TBM_ERR("error: fail to tbm_bo_alloc_with_tiled_format fmt(%s) idx(%d) w(%d) h(%d) flags(%s)\n",
-                               FOURCC_STR(format), bo_idx, width, height, _tbm_flag_to_str(flags));
-               _tbm_set_last_result(*error);
-               free(bo);
-               _tbm_bufmgr_mutex_unlock();
-               return NULL;
+               if (!bo_data) {
+                       TBM_ERR("error: fail to tbm_bo_alloc_with_tiled_format fmt(%s) idx(%d) w(%d) h(%d) flags(%s)\n",
+                                       FOURCC_STR(format), bo_idx, width, height, _tbm_flag_to_str(flags));
+                       _tbm_set_last_result(*error);
+                       goto bo_alloc_fail;
+               }
        }
 
        bo->bo_data = bo_data;
@@ -534,6 +555,11 @@ tbm_bo_alloc_with_tiled_format(tbm_bufmgr bufmgr, int width, int height, int bpp
        _tbm_bufmgr_mutex_unlock();
 
        return bo;
+
+bo_alloc_fail:
+       free(bo);
+       _tbm_bufmgr_mutex_unlock();
+       return NULL;
 }
 
 tbm_bo