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;