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,