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 <m...@netbsd.org> Committer: Taylor R Campbell <riastr...@netbsd.org> 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