Module Name:    src
Committed By:   riastradh
Date:           Sun Dec 19 11:37:06 UTC 2021

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/i915: i915_scatterlist.c
            i915_scatterlist.h i915_scheduler.c
        src/sys/external/bsd/drm2/i915drm: files.i915drmkms i915_module.c

Log Message:
i915: Odds and ends.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.c \
    src/sys/external/bsd/drm2/dist/drm/i915/i915_scheduler.c
cvs rdiff -u -r1.7 -r1.8 \
    src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.h
cvs rdiff -u -r1.71 -r1.72 src/sys/external/bsd/drm2/i915drm/files.i915drmkms
cvs rdiff -u -r1.15 -r1.16 src/sys/external/bsd/drm2/i915drm/i915_module.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/i915/i915_scatterlist.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.c:1.2 src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.c:1.2	Sat Dec 18 23:45:28 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.c	Sun Dec 19 11:37:05 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_scatterlist.c,v 1.2 2021/12/18 23:45:28 riastradh Exp $	*/
+/*	$NetBSD: i915_scatterlist.c,v 1.3 2021/12/19 11:37:05 riastradh Exp $	*/
 
 /*
  * SPDX-License-Identifier: MIT
@@ -7,12 +7,13 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_scatterlist.c,v 1.2 2021/12/18 23:45:28 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_scatterlist.c,v 1.3 2021/12/19 11:37:05 riastradh Exp $");
 
 #include "i915_scatterlist.h"
 
 bool i915_sg_trim(struct sg_table *orig_st)
 {
+#ifndef __NetBSD__
 	struct sg_table new_st;
 	struct scatterlist *sg, *new_sg;
 	unsigned int i;
@@ -36,6 +37,7 @@ bool i915_sg_trim(struct sg_table *orig_
 	sg_free_table(orig_st);
 
 	*orig_st = new_st;
+#endif
 	return true;
 }
 
Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_scheduler.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_scheduler.c:1.2 src/sys/external/bsd/drm2/dist/drm/i915/i915_scheduler.c:1.3
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_scheduler.c:1.2	Sat Dec 18 23:45:28 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_scheduler.c	Sun Dec 19 11:37:05 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_scheduler.c,v 1.2 2021/12/18 23:45:28 riastradh Exp $	*/
+/*	$NetBSD: i915_scheduler.c,v 1.3 2021/12/19 11:37:05 riastradh Exp $	*/
 
 /*
  * SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_scheduler.c,v 1.2 2021/12/18 23:45:28 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_scheduler.c,v 1.3 2021/12/19 11:37:05 riastradh Exp $");
 
 #include <linux/mutex.h>
 
@@ -22,12 +22,17 @@ static struct i915_global_scheduler {
 	struct kmem_cache *slab_priorities;
 } global;
 
+#ifdef __NetBSD__
+static spinlock_t schedule_lock;
+spinlock_t *const i915_schedule_lock = &schedule_lock;
+#else
 static DEFINE_SPINLOCK(schedule_lock);
+#endif
 
 static const struct i915_request *
 node_to_request(const struct i915_sched_node *node)
 {
-	return container_of(node, const struct i915_request, sched);
+	return const_container_of(node, const struct i915_request, sched);
 }
 
 static inline bool node_started(const struct i915_sched_node *node)

Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.h:1.7 src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.h:1.8
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.h:1.7	Sun Dec 19 11:33:49 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_scatterlist.h	Sun Dec 19 11:37:05 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_scatterlist.h,v 1.7 2021/12/19 11:33:49 riastradh Exp $	*/
+/*	$NetBSD: i915_scatterlist.h,v 1.8 2021/12/19 11:37:05 riastradh Exp $	*/
 
 /*
  * SPDX-License-Identifier: MIT
@@ -45,12 +45,6 @@ i915_sg_segment_size(void)
 	return PAGE_SIZE;
 }
 
-static inline bool
-i915_sg_trim(struct sg_table *sgt)
-{
-	return true;
-}
-
 #else
 
 /*
@@ -162,8 +156,8 @@ static inline unsigned int i915_sg_segme
 	return size;
 }
 
-bool i915_sg_trim(struct sg_table *orig_st);
-
 #endif
 
+bool i915_sg_trim(struct sg_table *orig_st);
+
 #endif

Index: src/sys/external/bsd/drm2/i915drm/files.i915drmkms
diff -u src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.71 src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.72
--- src/sys/external/bsd/drm2/i915drm/files.i915drmkms:1.71	Sun Dec 19 11:36:08 2021
+++ src/sys/external/bsd/drm2/i915drm/files.i915drmkms	Sun Dec 19 11:37:06 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i915drmkms,v 1.71 2021/12/19 11:36:08 riastradh Exp $
+#	$NetBSD: files.i915drmkms,v 1.72 2021/12/19 11:37:06 riastradh Exp $
 
 version	20180827
 
@@ -210,7 +210,7 @@ file	external/bsd/drm2/dist/drm/i915/i91
 file	external/bsd/drm2/dist/drm/i915/i915_sw_fence_work.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_switcheroo.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_syncmap.c	i915drmkms
-file	external/bsd/drm2/dist/drm/i915/i915_sysfs.c	i915drmkms
+#file	external/bsd/drm2/dist/drm/i915/i915_sysfs.c	i915drmkms
 #file	external/bsd/drm2/dist/drm/i915/i915_trace_points.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_user_extensions.c	i915drmkms
 file	external/bsd/drm2/dist/drm/i915/i915_utils.c	i915drmkms

Index: src/sys/external/bsd/drm2/i915drm/i915_module.c
diff -u src/sys/external/bsd/drm2/i915drm/i915_module.c:1.15 src/sys/external/bsd/drm2/i915drm/i915_module.c:1.16
--- src/sys/external/bsd/drm2/i915drm/i915_module.c:1.15	Sun Dec 19 11:36:08 2021
+++ src/sys/external/bsd/drm2/i915drm/i915_module.c	Sun Dec 19 11:37:06 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_module.c,v 1.15 2021/12/19 11:36:08 riastradh Exp $	*/
+/*	$NetBSD: i915_module.c,v 1.16 2021/12/19 11:37:06 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_module.c,v 1.15 2021/12/19 11:36:08 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_module.c,v 1.16 2021/12/19 11:37:06 riastradh Exp $");
 
 #include <sys/types.h>
 #include <sys/module.h>
@@ -53,7 +53,9 @@ MODULE(MODULE_CLASS_DRIVER, i915drmkms, 
 
 struct drm_sysctl_def i915_def = DRM_SYSCTL_INIT();
 
+/* XXX use link sets for DEFINE_SPINLOCK */
 extern spinlock_t i915_sw_fence_lock;
+extern spinlock_t *const i915_schedule_lock;
 
 int i915_global_buddy_init(void); /* XXX */
 
@@ -73,6 +75,7 @@ i915drmkms_init(void)
 	drm_sysctl_init(&i915_def);
 	spin_lock_init(&mchdev_lock);
 	spin_lock_init(&i915_sw_fence_lock);
+	spin_lock_init(i915_schedule_lock);
 
 	return 0;
 }
@@ -94,6 +97,7 @@ static void
 i915drmkms_fini(void)
 {
 
+	spin_lock_destroy(i915_schedule_lock);
 	spin_lock_destroy(&i915_sw_fence_lock);
 	spin_lock_destroy(&mchdev_lock);
 	drm_sysctl_fini(&i915_def);

Reply via email to