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); /*