Module Name:    src
Committed By:   riastradh
Date:           Sun Jul  9 20:24:06 UTC 2023

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/i915/gt: intel_ggtt.c

Log Message:
i915: Fail gracefully, don't panic, with unsupported ggtt views.

Workaround for part of PR kern/56648.

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 \
    src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_ggtt.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_ggtt.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_ggtt.c:1.15 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_ggtt.c:1.16
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_ggtt.c:1.15	Sun Dec 19 12:35:13 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_ggtt.c	Sun Jul  9 20:24:06 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: intel_ggtt.c,v 1.15 2021/12/19 12:35:13 riastradh Exp $	*/
+/*	$NetBSD: intel_ggtt.c,v 1.16 2023/07/09 20:24:06 riastradh Exp $	*/
 
 // SPDX-License-Identifier: MIT
 /*
@@ -6,7 +6,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_ggtt.c,v 1.15 2021/12/19 12:35:13 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_ggtt.c,v 1.16 2023/07/09 20:24:06 riastradh Exp $");
 
 #include <linux/stop_machine.h>
 
@@ -1772,17 +1772,23 @@ i915_get_ggtt_vma_pages(struct i915_vma 
 		vma->pages = vma->obj->mm.pages;
 		return 0;
 
-#ifndef __NetBSD__
 	case I915_GGTT_VIEW_ROTATED:
+#ifdef __NetBSD__
+		vma->pages = ERR_PTR(-ENODEV);
+#else
 		vma->pages =
 			intel_rotate_pages(&vma->ggtt_view.rotated, vma->obj);
+#endif
 		break;
 
 	case I915_GGTT_VIEW_REMAPPED:
+#ifdef __NetBSD__
+		vma->pages = ERR_PTR(-ENODEV);
+#else
 		vma->pages =
 			intel_remap_pages(&vma->ggtt_view.remapped, vma->obj);
-		break;
 #endif
+		break;
 
 	case I915_GGTT_VIEW_PARTIAL:
 		vma->pages = intel_partial_pages(&vma->ggtt_view, vma->obj);

Reply via email to