Module Name: src Committed By: riastradh Date: Sun Dec 19 12:12:32 UTC 2021
Modified Files: src/sys/external/bsd/drm2/dist/drm/i915/gem: i915_gem_object.c Log Message: i915: Don't need obj->mmo.lock on destruction. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_object.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_object.c diff -u src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_object.c:1.8 src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_object.c:1.9 --- src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_object.c:1.8 Sun Dec 19 11:58:57 2021 +++ src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_object.c Sun Dec 19 12:12:31 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: i915_gem_object.c,v 1.8 2021/12/19 11:58:57 riastradh Exp $ */ +/* $NetBSD: i915_gem_object.c,v 1.9 2021/12/19 12:12:31 riastradh Exp $ */ /* * Copyright © 2017 Intel Corporation @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: i915_gem_object.c,v 1.8 2021/12/19 11:58:57 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i915_gem_object.c,v 1.9 2021/12/19 12:12:31 riastradh Exp $"); #include <linux/bitmap.h> #include <linux/sched/mm.h> @@ -131,7 +131,6 @@ void i915_gem_close_object(struct drm_ge } i915_gem_object_unlock(obj); - spin_lock(&obj->mmo.lock); #ifdef __NetBSD__ __USE(mn); for (enum i915_mmap_type t = 0; t < I915_MMAP_NTYPES; t++) { @@ -140,10 +139,11 @@ void i915_gem_close_object(struct drm_ge drm_vma_node_revoke(&mmo->vma_node, file); } #else + spin_lock(&obj->mmo.lock); rbtree_postorder_for_each_entry_safe(mmo, mn, &obj->mmo.offsets, offset) drm_vma_node_revoke(&mmo->vma_node, file); -#endif spin_unlock(&obj->mmo.lock); +#endif list_for_each_entry_safe(lut, ln, &close, obj_link) { struct i915_gem_context *ctx = lut->ctx;