Module Name: src
Committed By: riastradh
Date: Sun Dec 19 11:12:14 UTC 2021
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915/gt: intel_gtt.c intel_gtt.h
Log Message:
Enable the scratch_order code and not have our own.
Now there's multiple scratch pages. Maybe it's best to follow
what upstream does here.
Author: Maya Rashish <[email protected]>
Committer: Taylor R Campbell <[email protected]>
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.c
cvs rdiff -u -r1.5 -r1.6 \
src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.h
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_gtt.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.c:1.4 Sun Dec 19 01:35:35 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.c Sun Dec 19 11:12:13 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_gtt.c,v 1.4 2021/12/19 01:35:35 riastradh Exp $ */
+/* $NetBSD: intel_gtt.c,v 1.5 2021/12/19 11:12:13 riastradh Exp $ */
// SPDX-License-Identifier: MIT
/*
@@ -6,7 +6,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.4 2021/12/19 01:35:35 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intel_gtt.c,v 1.5 2021/12/19 11:12:13 riastradh Exp $");
#include <linux/slab.h> /* fault-inject.h is not standalone! */
@@ -387,6 +387,7 @@ int setup_scratch_page(struct i915_addre
gfp |= __GFP_ZERO | __GFP_RETRY_MAYFAIL;
do {
+ unsigned int order = get_order(size);
#ifdef __NetBSD__
struct vm_page *vm_page;
void *kva;
@@ -429,7 +430,6 @@ int setup_scratch_page(struct i915_addre
vm->scratch_page.page = container_of(vm_page, struct page,
p_vmp);
#else
- unsigned int order = get_order(size);
struct page *page;
dma_addr_t addr;
@@ -450,8 +450,8 @@ int setup_scratch_page(struct i915_addre
vm->scratch[0].base.page = page;
vm->scratch[0].base.daddr = addr;
- vm->scratch_order = order;
#endif
+ vm->scratch_order = order;
return 0;
#ifdef __NetBSD__
Index: src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.h:1.5 src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.h:1.6
--- src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.h:1.5 Sun Dec 19 11:11:03 2021
+++ src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_gtt.h Sun Dec 19 11:12:13 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: intel_gtt.h,v 1.5 2021/12/19 11:11:03 riastradh Exp $ */
+/* $NetBSD: intel_gtt.h,v 1.6 2021/12/19 11:12:13 riastradh Exp $ */
/* SPDX-License-Identifier: MIT */
/*
@@ -415,11 +415,7 @@ i915_vm_is_4lvl(const struct i915_addres
static inline bool
i915_vm_has_scratch_64K(struct i915_address_space *vm)
{
-#ifdef __NetBSD__
- return vm->scratch_page.seg.ds_len == I915_GTT_PAGE_SIZE_64K;
-#else
return vm->scratch_order == get_order(I915_GTT_PAGE_SIZE_64K);
-#endif
}
static inline bool