minigbm: add spew on IOCTL failures.
Having spew on errors would have made debugging the Netflix
double fd close more obvious.
BUG=chromium:462459, chromium:464628
TEST=Builds for link, tegra, nyan.
Change-Id: I050794fbca8e9291752e52119751847ffcacd798
Reviewed-on: https://chromium-review.googlesource.com/265065
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
diff --git a/exynos.c b/exynos.c
index 6015d75..c09d52d 100644
--- a/exynos.c
+++ b/exynos.c
@@ -6,6 +6,7 @@
#ifdef GBM_EXYNOS
+#include <stdio.h>
#include <string.h>
#include <xf86drm.h>
#include <exynos_drm.h>
@@ -24,8 +25,11 @@
gem_create.flags = EXYNOS_BO_NONCONTIG;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_EXYNOS_GEM_CREATE, &gem_create);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_EXYNOS_GEM_CREATE failed "
+ "(size=%zu)\n", size);
return ret;
+ }
bo->handle.u32 = gem_create.handle;
bo->size = size;
diff --git a/helpers.c b/helpers.c
index caed6e6..2b72f1a 100644
--- a/helpers.c
+++ b/helpers.c
@@ -100,8 +100,11 @@
create_dumb.flags = 0;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_MODE_CREATE_DUMB, &create_dumb);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_MODE_CREATE_DUMB failed "
+ "(handle=%x)\n", bo->handle.u32);
return ret;
+ }
bo->handle.u32 = create_dumb.handle;
bo->size = create_dumb.size;
@@ -119,8 +122,11 @@
destroy_dumb.handle = bo->handle.u32;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_dumb);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_MODE_DESTROY_DUMB failed "
+ "(handle=%x)\n", bo->handle.u32);
return ret;
+ }
return 0;
}
@@ -134,8 +140,11 @@
gem_close.handle = bo->handle.u32;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_GEM_CLOSE, &gem_close);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_GEM_CLOSE failed "
+ "(handle=%x)\n", bo->handle.u32);
return ret;
+ }
return 0;
}
diff --git a/i915.c b/i915.c
index 59fa170..511e4f4 100644
--- a/i915.c
+++ b/i915.c
@@ -6,6 +6,7 @@
#ifdef GBM_I915
+#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdio.h>
@@ -49,6 +50,7 @@
get_param.value = &device_id;
ret = drmIoctl(gbm->fd, DRM_IOCTL_I915_GETPARAM, &get_param);
if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_I915_GETPARAM failed\n");
free(i915_gbm);
return -1;
}
@@ -143,9 +145,11 @@
gem_create.size = size;
ret = drmIoctl(gbm->fd, DRM_IOCTL_I915_GEM_CREATE, &gem_create);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_I915_GEM_CREATE failed "
+ "(size=%zu)\n", size);
return ret;
-
+ }
bo->handle.u32 = gem_create.handle;
bo->size = size;
@@ -160,6 +164,12 @@
if (ret == -1) {
struct drm_gem_close gem_close;
gem_close.handle = bo->handle.u32;
+ fprintf(stderr, "minigbm: DRM_IOCTL_I915_GEM_SET_TILING failed "
+ "errno=%x (handle=%x, tiling=%x, stride=%x)\n",
+ errno,
+ gem_set_tiling.handle,
+ gem_set_tiling.tiling_mode,
+ gem_set_tiling.stride);
drmIoctl(gbm->fd, DRM_IOCTL_GEM_CLOSE, &gem_close);
return -errno;
}
diff --git a/mediatek.c b/mediatek.c
index 01eec63..c33dc90 100644
--- a/mediatek.c
+++ b/mediatek.c
@@ -6,6 +6,7 @@
#ifdef GBM_MEDIATEK
+#include <stdio.h>
#include <string.h>
#include <xf86drm.h>
#include <mediatek_drm.h>
@@ -23,8 +24,11 @@
gem_create.size = size;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_MTK_GEM_CREATE, &gem_create);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_MTK_GEM_CREATE failed "
+ "(size=%zu)\n", size);
return ret;
+ }
bo->handle.u32 = gem_create.handle;
bo->size = size;
diff --git a/rockchip.c b/rockchip.c
index 59bc885..92c8ca9 100644
--- a/rockchip.c
+++ b/rockchip.c
@@ -6,6 +6,7 @@
#ifdef GBM_ROCKCHIP
+#include <stdio.h>
#include <string.h>
#include <xf86drm.h>
#include <rockchip_drm.h>
@@ -23,8 +24,11 @@
gem_create.size = size;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_ROCKCHIP_GEM_CREATE, &gem_create);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_ROCKCHIP_GEM_CREATE failed "
+ "(size=%zu)\n", size);
return ret;
+ }
bo->handle.u32 = gem_create.handle;
bo->size = size;
diff --git a/tegra.c b/tegra.c
index 84ee537..dcd53e9 100644
--- a/tegra.c
+++ b/tegra.c
@@ -6,6 +6,7 @@
#ifdef GBM_TEGRA
+#include <stdio.h>
#include <string.h>
#include <xf86drm.h>
#include <tegra_drm.h>
@@ -105,8 +106,11 @@
gem_create.flags = 0;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_TEGRA_GEM_CREATE, &gem_create);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "minigbm: DRM_IOCTL_TEGRA_GEM_CREATE failed "
+ "(size=%zu)\n", size);
return ret;
+ }
bo->handle.u32 = gem_create.handle;
bo->size = size;