Module Name: src
Committed By: riastradh
Date: Mon Jul 1 13:27:55 UTC 2024
Modified Files:
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu: amdgpu_gart.c
Log Message:
amdgpu: Map consecutive pages, not the same one over and over again.
PR kern/58385
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.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/amd/amdgpu/amdgpu_gart.c
diff -u src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c:1.11 src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c:1.12
--- src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c:1.11 Wed Mar 1 08:14:13 2023
+++ src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c Mon Jul 1 13:27:55 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: amdgpu_gart.c,v 1.11 2023/03/01 08:14:13 riastradh Exp $ */
+/* $NetBSD: amdgpu_gart.c,v 1.12 2024/07/01 13:27:55 riastradh Exp $ */
/*
* Copyright 2008 Advanced Micro Devices, Inc.
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amdgpu_gart.c,v 1.11 2023/03/01 08:14:13 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amdgpu_gart.c,v 1.12 2024/07/01 13:27:55 riastradh Exp $");
#include <linux/pci.h>
#include <linux/vmalloc.h>
@@ -440,7 +440,7 @@ int amdgpu_gart_map(struct amdgpu_device
t = gpu_start / AMDGPU_GPU_PAGE_SIZE;
for (i = 0; npages --> 0;) {
- for (j = 0; j < AMDGPU_GPU_PAGES_IN_CPU_PAGE; j++) {
+ for (j = 0; j < AMDGPU_GPU_PAGES_IN_CPU_PAGE; j++, t++) {
KASSERT(i < dmamap->dm_nsegs);
KASSERT(seg_off < dmamap->dm_segs[i].ds_len);
amdgpu_gmc_set_pte_pde(adev, dst, t,