-/**
- * Return gem handle on success. Return 0 on failure.
- */
-static uint32_t
-tu_gem_new(const struct tu_device *dev, uint64_t size, uint32_t flags)
-{
- struct drm_msm_gem_new req = {
- .size = size,
- .flags = flags,
- };
-
- int ret = drmCommandWriteRead(dev->physical_device->local_fd,
- DRM_MSM_GEM_NEW, &req, sizeof(req));
- if (ret)
- return 0;
-
- return req.handle;
-}
-
-static uint32_t
-tu_gem_import_dmabuf(const struct tu_device *dev, int prime_fd, uint64_t size)
-{
- /* lseek() to get the real size */
- off_t real_size = lseek(prime_fd, 0, SEEK_END);
- lseek(prime_fd, 0, SEEK_SET);
- if (real_size < 0 || (uint64_t) real_size < size)
- return 0;
-
- uint32_t gem_handle;
- int ret = drmPrimeFDToHandle(dev->physical_device->local_fd, prime_fd,
- &gem_handle);
- if (ret)
- return 0;
-
- return gem_handle;
-}
-
-static int
-tu_gem_export_dmabuf(const struct tu_device *dev, uint32_t gem_handle)
-{
- int prime_fd;
- int ret = drmPrimeHandleToFD(dev->physical_device->local_fd, gem_handle,
- DRM_CLOEXEC, &prime_fd);
-
- return ret == 0 ? prime_fd : -1;
-}
-