drm/amdgpu: Optimize end of non-contig VA ranges
authorFelix Kuehling <Felix.Kuehling@amd.com>
Wed, 1 Mar 2023 02:28:59 +0000 (21:28 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 7 Mar 2023 19:22:41 +0000 (14:22 -0500)
Treat the last page in a non-contiguous range as part of the following
contiguous range.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-and-tested-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index b9441ab..8f00ada 100644 (file)
@@ -867,6 +867,8 @@ int amdgpu_vm_update_range(struct amdgpu_device *adev, struct amdgpu_vm *vm,
                                            pages_addr[idx - 1] + PAGE_SIZE))
                                                break;
                                }
+                               if (!contiguous)
+                                       count--;
                                num_entries = count *
                                        AMDGPU_GPU_PAGES_IN_CPU_PAGE;
                        }