if (!tbm_drm_helper_wl_auth_server_init(native_display, bufmgr_exynos->fd,
bufmgr_exynos->device_name, 0)) {
TBM_ERR("fail to tbm_drm_helper_wl_server_init\n");
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
bufmgr_exynos->bind_display = native_display;
(unsigned int)arg.size);
free(bo_exynos);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
TBM_ERR("fail init cache state(%d)\n", bo_exynos->name);
free(bo_exynos);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
TBM_ERR("Cannot dmabuf=%d\n", bo_exynos->gem);
free(bo_exynos);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
bo_exynos->dmabuf = arg.fd;
TBM_ERR("Cannot get gem handle from fd:%d (%s)\n",
arg.fd, strerror_r(errno, buf, STRERR_BUFSIZE));
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
gem = arg.handle;
TBM_ERR("Cannot get name from gem:%d, fd:%d (%s)\n",
gem, key, strerror_r(errno, buf, STRERR_BUFSIZE));
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
TBM_ERR("Cannot get gem info from gem:%d, fd:%d (%s)\n",
gem, key, strerror_r(errno, buf, STRERR_BUFSIZE));
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
TBM_ERR("fail init cache state(%d)\n", bo_exynos->name);
free(bo_exynos);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
if (drmIoctl(bufmgr_exynos->fd, DRM_IOCTL_GEM_OPEN, &arg)) {
TBM_ERR("Cannot open gem name=%d\n", key);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
sizeof(struct drm_exynos_gem_info))) {
TBM_ERR("Cannot get gem info=%d\n", key);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
TBM_ERR("fail init cache state(%d)\n", bo_exynos->name);
free(bo_exynos);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return NULL;
}
if (drmIoctl(bo_exynos->fd, DRM_IOCTL_PRIME_HANDLE_TO_FD, &arg)) {
TBM_ERR("fail to DRM_IOCTL_PRIME_HANDLE_TO_FD gem=%d\n", bo_exynos->gem);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
free(bo_exynos);
return NULL;
}
TBM_ERR("Cannot get handle: gem:%d, device:%d\n",
bo_exynos->gem, device);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return (tbm_bo_handle) NULL;
}
TBM_ERR("Cannot get handle: gem:%d, device:%d, opt:%d\n",
bo_exynos->gem, device, opt);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return (tbm_bo_handle) NULL;
}
if (device != TBM_DEVICE_3D && device != TBM_DEVICE_CPU) {
TBM_DBG("Not support device type,\n");
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
memset(&fence, 0, sizeof(struct dma_buf_fence));
/* Check if the tbm manager supports dma fence or not. */
if (!bufmgr_exynos->use_dma_fence) {
TBM_ERR("Not support DMA FENCE(%s)\n", strerror_r(errno, buf, STRERR_BUFSIZE));
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
ret = ioctl(bo_exynos->dmabuf, DMABUF_IOCTL_GET_FENCE, &fence);
if (ret < 0) {
TBM_ERR("Cannot set GET FENCE(%s)\n", strerror_r(errno, buf, STRERR_BUFSIZE));
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
} else {
if (opt & TBM_OPTION_WRITE)
filelock.l_len = 0;
if (-1 == fcntl(bo_exynos->dmabuf, F_SETLKW, &filelock))
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
pthread_mutex_lock(&bo_exynos->mutex);
if (!bo_exynos->dma_fence[0].ctx && dma_type) {
TBM_DBG("FENCE not support or ignored,\n");
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
if (!bo_exynos->dma_fence[0].ctx && dma_type) {
TBM_DBG("device type is not 3D/CPU,\n");
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
pthread_mutex_lock(&bo_exynos->mutex);
ret = ioctl(bo_exynos->dmabuf, DMABUF_IOCTL_PUT_FENCE, &fence);
if (ret < 0) {
TBM_ERR("Can not set PUT FENCE(%s)\n", strerror_r(errno, buf, STRERR_BUFSIZE));
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
} else {
filelock.l_type = F_UNLCK;
filelock.l_len = 0;
if (-1 == fcntl(bo_exynos->dmabuf, F_SETLKW, &filelock))
- return TBM_ERROR_OPERATION_FAILED;
+ return TBM_ERROR_INVALID_OPERATION;
}
TBM_DBG("DMABUF_IOCTL_PUT_FENCE! bo_exynos:%p, gem:%d(%d), fd:%ds\n",
TBM_ERR("bo_exynos:%p Cannot dmabuf=%d (%s)\n",
bo_exynos, bo_exynos->gem, strerror_r(errno, buf, STRERR_BUFSIZE));
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
return (tbm_fd) ret;
}
if (bufmgr_exynos->fd < 0) {
TBM_ERR("fail to open drm!\n");
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
goto fail_open_drm;
}
}
TBM_ERR("fail to get device name!\n");
tbm_drm_helper_unset_tbm_master_fd();
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
goto fail_get_device_name;
}
} else {
if (bufmgr_exynos->fd < 0) {
TBM_ERR("fail to get render node\n");
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
goto fail_get_render_node;
}
TBM_DBG("Use render node:%d\n", bufmgr_exynos->fd);
if (!tbm_drm_helper_get_auth_info(&(bufmgr_exynos->fd), &(bufmgr_exynos->device_name), NULL)) {
TBM_ERR("fail to get auth drm info!\n");
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
goto fail_get_auth_info;
}
tbm_drm_helper_set_fd(bufmgr_exynos->fd);
if (!_bufmgr_init_cache_state(bufmgr_exynos)) {
TBM_ERR("fail to init bufmgr cache state\n");
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
goto fail_init_cache_state;
}
if (err != TBM_ERROR_NONE) {
TBM_ERR("fail to register bufmgr_func! err(%d)\n", err);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
goto fail_register_bufmgr_func;
}
bufmgr_exynos->bufmgr_func = bufmgr_func;
if (err != TBM_ERROR_NONE) {
TBM_ERR("fail to register bo_func! err(%d)\n", err);
if (error)
- *error = TBM_ERROR_OPERATION_FAILED;
+ *error = TBM_ERROR_INVALID_OPERATION;
goto fail_register_bo_func;
}
bufmgr_exynos->bo_func = bo_func;