Module Name:    src
Committed By:   riastradh
Date:           Sun Jun 23 14:37:41 UTC 2024

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/i915/gem: i915_gem_mman.c

Log Message:
i915: Omit needless i915_gem_object_pin/unpin_pages cycle in fault.

vm_fault_cpu and vm_fault_gtt, called by i915_gem_fault, already do
the pinning and unpinning internally, so there is no need for
i915_gem_fault to do it.

No functional change intended, except that the transient pin count
will be one lower than before during the fault routine (but it will
still be positive).


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 \
    src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.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/gem/i915_gem_mman.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c:1.25 src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c:1.26
--- src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c:1.25	Sun Jun 23 13:01:44 2024
+++ src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c	Sun Jun 23 14:37:41 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_mman.c,v 1.25 2024/06/23 13:01:44 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_mman.c,v 1.26 2024/06/23 14:37:41 riastradh Exp $	*/
 
 /*
  * SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_gem_mman.c,v 1.25 2024/06/23 13:01:44 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_gem_mman.c,v 1.26 2024/06/23 14:37:41 riastradh Exp $");
 
 #include <linux/anon_inodes.h>
 #include <linux/mman.h>
@@ -565,7 +565,6 @@ i915_gem_fault(struct uvm_faultinfo *ufi
 	struct i915_mmap_offset *mmo =
 	    container_of(uobj, struct i915_mmap_offset, uobj);
 	struct drm_i915_gem_object *obj = mmo->obj;
-	bool pinned = false;
 	int error;
 
 	KASSERT(rw_lock_held(obj->base.filp->vmobjlock));
@@ -585,12 +584,6 @@ i915_gem_fault(struct uvm_faultinfo *ufi
 	 */
 	rw_exit(obj->base.filp->vmobjlock);
 
-	/* XXX errno Linux->NetBSD */
-	error = -i915_gem_object_pin_pages(obj);
-	if (error)
-		goto out;
-	pinned = true;
-
 	switch (mmo->mmap_type) {
 	case I915_MMAP_TYPE_WC:
 	case I915_MMAP_TYPE_WB:
@@ -608,8 +601,6 @@ i915_gem_fault(struct uvm_faultinfo *ufi
 		    mmo->mmap_type);
 	}
 
-out:	if (pinned)
-		i915_gem_object_unpin_pages(obj);
 	uvmfault_unlockall(ufi, ufi->entry->aref.ar_amap, NULL);
 
 	/*

Reply via email to