Module Name:    xsrc
Committed By:   riastradh
Date:           Thu Apr  3 03:59:19 UTC 2014

Modified Files:
        xsrc/external/mit/xf86-video-intel/dist/src/sna: kgem.c

Log Message:
Use drmMap rather than mmap directly, to invoke the ioctl on NetBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
    xsrc/external/mit/xf86-video-intel/dist/src/sna/kgem.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-intel/dist/src/sna/kgem.c
diff -u xsrc/external/mit/xf86-video-intel/dist/src/sna/kgem.c:1.1.1.1 xsrc/external/mit/xf86-video-intel/dist/src/sna/kgem.c:1.2
--- xsrc/external/mit/xf86-video-intel/dist/src/sna/kgem.c:1.1.1.1	Fri Mar 21 22:42:41 2014
+++ xsrc/external/mit/xf86-video-intel/dist/src/sna/kgem.c	Thu Apr  3 03:59:19 2014
@@ -322,6 +322,7 @@ static void *__kgem_bo_map__gtt(struct k
 {
 	struct drm_i915_gem_mmap_gtt mmap_arg;
 	void *ptr;
+	int err;
 
 	DBG(("%s(handle=%d, size=%d)\n", __FUNCTION__,
 	     bo->handle, bytes(bo)));
@@ -333,7 +334,7 @@ retry_gtt:
 	VG_CLEAR(mmap_arg);
 	mmap_arg.handle = bo->handle;
 	if (drmIoctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP_GTT, &mmap_arg)) {
-		int err = errno;
+		err = errno;
 
 		assert(err != EINVAL);
 
@@ -352,11 +353,8 @@ retry_gtt:
 	}
 
 retry_mmap:
-	ptr = mmap(0, bytes(bo), PROT_READ | PROT_WRITE, MAP_SHARED,
-		   kgem->fd, mmap_arg.offset);
-	if (ptr == MAP_FAILED) {
-		int err = errno;
-
+	err = -drmMap(kgem->fd, mmap_arg.offset, bytes(bo), &ptr);
+	if (err) {
 		assert(err != EINVAL);
 
 		if (__kgem_throttle_retire(kgem, 0))

Reply via email to