minigbm functions don't use errno; however drmIoctl does. So we need
to return -errno instead of returning exactly what drmIoctl returns.
BUG=none
TEST=builds
Change-Id: I20e00141782ac1407133ee72259fe43381954d26
Reviewed-on: https://chromium-review.googlesource.com/
1534878
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_EXYNOS_GEM_CREATE, &gem_create);
if (ret) {
drv_log("DRM_IOCTL_EXYNOS_GEM_CREATE failed (size=%zu)\n", size);
+ ret = -errno;
goto cleanup_planes;
}
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_MODE_CREATE_DUMB, &create_dumb);
if (ret) {
drv_log("DRM_IOCTL_MODE_CREATE_DUMB failed (%d, %d)\n", bo->drv->fd, errno);
- return ret;
+ return -errno;
}
drv_bo_from_format(bo, create_dumb.pitch, height, format);
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_dumb);
if (ret) {
drv_log("DRM_IOCTL_MODE_DESTROY_DUMB failed (handle=%x)\n", bo->handles[0].u32);
- return ret;
+ return -errno;
}
return 0;
if (ret) {
drv_log("DRM_IOCTL_GEM_CLOSE failed (handle=%x) error %d\n",
bo->handles[plane].u32, ret);
- error = ret;
+ error = -errno;
}
}
*/
bo->num_planes = plane;
drv_gem_bo_destroy(bo);
- return ret;
+ return -errno;
}
bo->handles[plane].u32 = prime_handle.handle;
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_I915_GEM_CREATE, &gem_create);
if (ret) {
drv_log("DRM_IOCTL_I915_GEM_CREATE failed (size=%llu)\n", gem_create.size);
- return ret;
+ return -errno;
}
for (plane = 0; plane < bo->num_planes; plane++)
#ifdef DRV_MEDIATEK
// clang-format off
+#include <errno.h>
#include <fcntl.h>
#include <poll.h>
#include <stdio.h>
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_MTK_GEM_CREATE, &gem_create);
if (ret) {
drv_log("DRM_IOCTL_MTK_GEM_CREATE failed (size=%llu)\n", gem_create.size);
- return ret;
+ return -errno;
}
for (plane = 0; plane < bo->num_planes; plane++)
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_MSM_GEM_NEW, &req);
if (ret) {
drv_log("DRM_IOCTL_MSM_GEM_NEW failed with %s\n", strerror(errno));
- return ret;
+ return -errno;
}
/*
if (ret) {
drv_log("DRM_IOCTL_ROCKCHIP_GEM_CREATE failed (size=%llu)\n",
(unsigned long long)gem_create.size);
- return ret;
+ return -errno;
}
for (plane = 0; plane < bo->num_planes; plane++)
#ifdef DRV_TEGRA
#include <assert.h>
+#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/mman.h>
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_TEGRA_GEM_CREATE, &gem_create);
if (ret) {
drv_log("DRM_IOCTL_TEGRA_GEM_CREATE failed (size=%zu)\n", size);
- return ret;
+ return -errno;
}
bo->handles[0].u32 = gem_create.handle;
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_TEGRA_GEM_GET_TILING, &gem_get_tiling);
if (ret) {
drv_gem_bo_destroy(bo);
- return ret;
+ return -errno;
}
/* NOTE(djmk): we only know about one tiled format, so if our drmIoctl call tells us we are
#ifdef DRV_VC4
+#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/mman.h>
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_VC4_CREATE_BO, &bo_create);
if (ret) {
drv_log("DRM_IOCTL_VC4_GEM_CREATE failed (size=%zu)\n", bo->total_size);
- return ret;
+ return -errno;
}
for (plane = 0; plane < bo->num_planes; plane++)
if (ret) {
drv_log("DRM_IOCTL_VIRTGPU_RESOURCE_CREATE failed with %s\n",
strerror(errno));
+ ret = -errno;
goto fail;
}
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_VIRTGPU_TRANSFER_FROM_HOST, &xfer);
if (ret) {
drv_log("DRM_IOCTL_VIRTGPU_TRANSFER_FROM_HOST failed with %s\n", strerror(errno));
- return ret;
+ return -errno;
}
return 0;
ret = drmIoctl(bo->drv->fd, DRM_IOCTL_VIRTGPU_TRANSFER_TO_HOST, &xfer);
if (ret) {
drv_log("DRM_IOCTL_VIRTGPU_TRANSFER_TO_HOST failed with %s\n", strerror(errno));
- return ret;
+ return -errno;
}
return 0;