Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/external/bsd/drm2/dist/drm Apply patch from kamil@: vmob...
details: https://anonhg.NetBSD.org/src/rev/51ec1c16c615
branches: trunk
changeset: 467212:51ec1c16c615
user: ad <ad%NetBSD.org@localhost>
date: Fri Jan 17 19:56:49 2020 +0000
description:
Apply patch from kamil@: vmobjlock needs to be held for uvm_pagemarkdirty().
diffstat:
sys/external/bsd/drm2/dist/drm/drm_gem.c | 6 ++++--
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c | 6 ++++--
sys/external/bsd/drm2/dist/drm/i915/i915_gem_fence.c | 6 ++++--
3 files changed, 12 insertions(+), 6 deletions(-)
diffs (88 lines):
diff -r 0354d8cc66cc -r 51ec1c16c615 sys/external/bsd/drm2/dist/drm/drm_gem.c
--- a/sys/external/bsd/drm2/dist/drm/drm_gem.c Fri Jan 17 19:44:12 2020 +0000
+++ b/sys/external/bsd/drm2/dist/drm/drm_gem.c Fri Jan 17 19:56:49 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: drm_gem.c,v 1.11 2020/01/15 17:55:43 ad Exp $ */
+/* $NetBSD: drm_gem.c,v 1.12 2020/01/17 19:56:49 ad Exp $ */
/*
* Copyright © 2008 Intel Corporation
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: drm_gem.c,v 1.11 2020/01/15 17:55:43 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: drm_gem.c,v 1.12 2020/01/17 19:56:49 ad Exp $");
#include <linux/types.h>
#include <linux/slab.h>
@@ -613,8 +613,10 @@
for (i = 0; i < (obj->size >> PAGE_SHIFT); i++) {
if (dirty) {
+ mutex_enter(obj->filp->vmobjlock);
uvm_pagemarkdirty(&pages[i]->p_vmp,
UVM_PAGE_STATUS_DIRTY);
+ mutex_exit(obj->filp->vmobjlock);
}
}
diff -r 0354d8cc66cc -r 51ec1c16c615 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c Fri Jan 17 19:44:12 2020 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c Fri Jan 17 19:56:49 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_gem.c,v 1.55 2020/01/15 17:55:43 ad Exp $ */
+/* $NetBSD: i915_gem.c,v 1.56 2020/01/17 19:56:50 ad Exp $ */
/*
* Copyright © 2008-2015 Intel Corporation
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_gem.c,v 1.55 2020/01/15 17:55:43 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_gem.c,v 1.56 2020/01/17 19:56:50 ad Exp $");
#ifdef __NetBSD__
#if 0 /* XXX uvmhist option? */
@@ -2643,10 +2643,12 @@
obj->dirty = 0;
if (obj->dirty) {
+ mutex_enter(obj->base.filp->vmobjlock);
TAILQ_FOREACH(page, &obj->pageq, pageq.queue) {
uvm_pagemarkdirty(page, UVM_PAGE_STATUS_DIRTY);
/* XXX mark page accessed */
}
+ mutex_exit(obj->base.filp->vmobjlock);
}
obj->dirty = 0;
diff -r 0354d8cc66cc -r 51ec1c16c615 sys/external/bsd/drm2/dist/drm/i915/i915_gem_fence.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_gem_fence.c Fri Jan 17 19:44:12 2020 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_gem_fence.c Fri Jan 17 19:56:49 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: i915_gem_fence.c,v 1.6 2020/01/15 17:55:43 ad Exp $ */
+/* $NetBSD: i915_gem_fence.c,v 1.7 2020/01/17 19:56:50 ad Exp $ */
/*
* Copyright © 2008-2015 Intel Corporation
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_gem_fence.c,v 1.6 2020/01/15 17:55:43 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_gem_fence.c,v 1.7 2020/01/17 19:56:50 ad Exp $");
#include <drm/drmP.h>
#include <drm/i915_drm.h>
@@ -769,7 +769,9 @@
(test_bit(i, obj->bit_17) != 0)) {
i915_gem_swizzle_page(container_of(page, struct page,
p_vmp));
+ mutex_enter(obj->base.filp->vmobjlock);
uvm_pagemarkdirty(page, UVM_PAGE_STATUS_DIRTY);
+ mutex_exit(obj->base.filp->vmobjlock);
}
i += 1;
}
Home |
Main Index |
Thread Index |
Old Index