Populate the stride field when creating gbm_bos

BUG=chromium:394868,chromium:402597,chromium:413947,chromium:412508
TEST=compiled & verified stride value on pixel

Change-Id: I5555289a9549b803ee29a7d4fbf75987b02afa1b
Reviewed-on: https://chromium-review.googlesource.com/219865
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Tested-by: Daniel Nicoara <dnicoara@chromium.org>
diff --git a/i915.c b/i915.c
index 1dd67a0..8d120c4 100644
--- a/i915.c
+++ b/i915.c
@@ -108,13 +108,15 @@
 	else if (flags & GBM_BO_USE_RENDERING)
 		tiling_mode = I915_TILING_Y;
 
+	bo->stride = i915_get_pitch(bo->gbm,
+		width * gbm_bytes_from_format(format),
+		tiling_mode);
+
 	memset(&gem_set_tiling, 0, sizeof(gem_set_tiling));
 	do {
 		gem_set_tiling.handle = bo->handle.u32;
 		gem_set_tiling.tiling_mode = tiling_mode;
-		gem_set_tiling.stride = i915_get_pitch(bo->gbm,
-							width * gbm_bytes_from_format(format),
-							tiling_mode);
+		gem_set_tiling.stride = bo->stride;
 		ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_I915_GEM_SET_TILING, &gem_set_tiling);
 	} while (ret == -1 && (errno == EINTR || errno == EAGAIN));