Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 07:47:56 UTC 2018

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/radeon: radeon_gem.c radeon_ttm.c

Log Message:
Disable radeon userptr for now.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
    src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c
cvs rdiff -u -r1.10 -r1.11 \
    src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c

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

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c:1.4 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c:1.4	Mon Aug 27 04:58:36 2018
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_gem.c	Mon Aug 27 07:47:55 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: radeon_gem.c,v 1.4 2018/08/27 04:58:36 riastradh Exp $	*/
+/*	$NetBSD: radeon_gem.c,v 1.5 2018/08/27 07:47:55 riastradh Exp $	*/
 
 /*
  * Copyright 2008 Advanced Micro Devices, Inc.
@@ -28,7 +28,7 @@
  *          Jerome Glisse
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeon_gem.c,v 1.4 2018/08/27 04:58:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_gem.c,v 1.5 2018/08/27 07:47:55 riastradh Exp $");
 
 #include <drm/drmP.h>
 #include <drm/radeon_drm.h>
@@ -290,6 +290,15 @@ int radeon_gem_create_ioctl(struct drm_d
 int radeon_gem_userptr_ioctl(struct drm_device *dev, void *data,
 			     struct drm_file *filp)
 {
+#ifdef __NetBSD__
+	/*
+	 * XXX Too painful to contemplate for now.  If you add this,
+	 * make sure to update radeon_cs.c radeon_cs_parser_relocs
+	 * (need_mmap_lock), and anything else using
+	 * radeon_ttm_tt_has_userptr.
+	 */
+	return -ENODEV;
+#else
 	struct radeon_device *rdev = dev->dev_private;
 	struct drm_radeon_gem_userptr *args = data;
 	struct drm_gem_object *gobj;
@@ -373,6 +382,7 @@ handle_lockup:
 	r = radeon_gem_handle_lockup(rdev, r);
 
 	return r;
+#endif
 }
 
 int radeon_gem_set_domain_ioctl(struct drm_device *dev, void *data,

Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c:1.10 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c:1.11
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c:1.10	Mon Aug 27 04:58:36 2018
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c	Mon Aug 27 07:47:55 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: radeon_ttm.c,v 1.10 2018/08/27 04:58:36 riastradh Exp $	*/
+/*	$NetBSD: radeon_ttm.c,v 1.11 2018/08/27 07:47:55 riastradh Exp $	*/
 
 /*
  * Copyright 2009 Jerome Glisse.
@@ -32,7 +32,7 @@
  *    Dave Airlie
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeon_ttm.c,v 1.10 2018/08/27 04:58:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_ttm.c,v 1.11 2018/08/27 07:47:55 riastradh Exp $");
 
 #include <ttm/ttm_bo_api.h>
 #include <ttm/ttm_bo_driver.h>
@@ -880,6 +880,15 @@ static const struct uvm_pagerops radeon_
 int radeon_ttm_tt_set_userptr(struct ttm_tt *ttm, uint64_t addr,
 			      uint32_t flags)
 {
+#ifdef __NetBSD__
+	/*
+	 * XXX Too painful to contemplate for now.  If you add this,
+	 * make sure to update radeon_cs.c radeon_cs_parser_relocs
+	 * (need_mmap_lock), and anything else using
+	 * radeon_ttm_tt_has_userptr.
+	 */
+	return -ENODEV;
+#else
 	struct radeon_ttm_tt *gtt = radeon_ttm_tt_to_gtt(ttm);
 
 	if (gtt == NULL)
@@ -889,6 +898,7 @@ int radeon_ttm_tt_set_userptr(struct ttm
 	gtt->usermm = current->mm;
 	gtt->userflags = flags;
 	return 0;
+#endif
 }
 
 bool radeon_ttm_tt_has_userptr(struct ttm_tt *ttm)

Reply via email to