Module Name: src
Committed By: riastradh
Date: Sun Dec 19 12:27:18 UTC 2021
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915/gt: intel_reset.c
Log Message:
i915: Use pmap_pv_protect on the paddrs for unmap_mapping_range.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.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/gt/intel_reset.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c:1.4 Sun Dec 19 11:49:11 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_reset.c Sun Dec 19 12:27:17 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_reset.c,v 1.4 2021/12/19 11:49:11 riastradh Exp $ */
+/* $NetBSD: intel_reset.c,v 1.5 2021/12/19 12:27:17 riastradh Exp $ */
/*
* SPDX-License-Identifier: MIT
@@ -7,7 +7,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_reset.c,v 1.4 2021/12/19 11:49:11 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_reset.c,v 1.5 2021/12/19 12:27:17 riastradh Exp $");
#include <linux/sched/mm.h>
#include <linux/stop_machine.h>
@@ -711,9 +711,13 @@ static void revoke_mmaps(struct intel_gt
vma_offset = vma->ggtt_view.partial.offset << PAGE_SHIFT;
#ifdef __NetBSD__
- __USE(node);
__USE(vma_offset);
- panic("NYI");
+ __USE(node);
+ paddr_t pa = gt->i915->ggtt.gmadr.start + vma->node.start;
+ vsize_t npgs = vma->size >> PAGE_SHIFT;
+ while (npgs --> 0)
+ pmap_pv_protect(pa + (npgs << PAGE_SHIFT),
+ VM_PROT_NONE);
#else
unmap_mapping_range(gt->i915->drm.anon_inode->i_mapping,
drm_vma_node_offset_addr(node) + vma_offset,