return arg.data1;
}
+#if 0
static int
_tbm_sprd_open_drm()
{
return fd;
}
+#endif
static int
_sprd_bo_cache_flush (tbm_bo bo, int flags)
}
#endif // USE_CONTIG_ONLY
struct drm_sprd_gem_create arg = {0, };
- arg.size = size;
+ arg.size = (uint64_t)size;
arg.flags = sprd_flags;
if (drmCommandWriteRead(bufmgr_sprd->fd, DRM_SPRD_GEM_CREATE, &arg,
sizeof(arg))) {
bufmgr_sprd->hashBos = NULL;
}
- close (bufmgr_sprd->tgl_fd);
-
if (bufmgr_sprd->bind_display)
tbm_drm_helper_wl_auth_server_deinit();
if (bufmgr_sprd->device_name)
free(bufmgr_sprd->device_name);
+ close (bufmgr_sprd->tgl_fd);
close (bufmgr_sprd->fd);
free (bufmgr_sprd);
}
if (tbm_backend_is_display_server()) {
+#if 0
+ /* this code is applied with libtdm-sprd */
int master_fd = -1;
bufmgr_sprd->fd = -1;
} else {
bufmgr_sprd->fd = dup(master_fd);
}
+#else
+ bufmgr_sprd->fd = dup(fd);
+#endif
if (bufmgr_sprd->fd < 0) {
TBM_SPRD_LOG ("[libtbm-sprd:%d] error: Fail to create drm!\n", getpid());
if (!bufmgr_sprd->device_name)
{
TBM_SPRD_LOG ("[libtbm-sprd:%d] error: Fail to get device name!\n", getpid());
+ close(bufmgr_sprd->fd);
free (bufmgr_sprd);
return 0;
}
"error: Fail to open global_lock:%s\n",
getpid(), tgl_devfile);
+ close(bufmgr_sprd->fd);
free (bufmgr_sprd);
return 0;
}
"error: Fail to initialize the tgl\n",
getpid());
+ close(bufmgr_sprd->fd);
+ close(bufmgr_sprd->tgl_fd);
+
free (bufmgr_sprd);
return 0;
}
if (!bufmgr_backend) {
TBM_SPRD_LOG ("[libtbm-sprd:%d] error: Fail to create drm!\n", getpid());
+ close(bufmgr_sprd->fd);
+ close(bufmgr_sprd->tgl_fd);
+
free (bufmgr_sprd);
return 0;
}
TBM_SPRD_LOG ("[libtbm-sprd:%d] error: Fail to init backend!\n", getpid());
tbm_backend_free (bufmgr_backend);
+ close(bufmgr_sprd->tgl_fd);
+ close(bufmgr_sprd->fd);
+
free (bufmgr_sprd);
return 0;
}