drm/amdgpu: dGPU mode set VRAM range lpfn as exclusive
authorPhilip Yang <Philip.Yang@amd.com>
Tue, 7 Mar 2023 16:30:24 +0000 (11:30 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 14:36:35 +0000 (10:36 -0400)
TTM place lpfn is exclusive used as end (start + size) in drm and buddy
allocator, adev->gmc memory partition range lpfn is inclusive (start +
size - 1), should plus 1 to set TTM place lpfn.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

index 85ad355..b2d11c4 100644 (file)
@@ -134,7 +134,11 @@ void amdgpu_bo_placement_from_domain(struct amdgpu_bo *abo, u32 domain)
 
                if (adev->gmc.mem_partitions && abo->mem_id >= 0) {
                        places[c].fpfn = adev->gmc.mem_partitions[abo->mem_id].range.fpfn;
-                       places[c].lpfn = adev->gmc.mem_partitions[abo->mem_id].range.lpfn;
+                       /*
+                        * memory partition range lpfn is inclusive start + size - 1
+                        * TTM place lpfn is exclusive start + size
+                        */
+                       places[c].lpfn = adev->gmc.mem_partitions[abo->mem_id].range.lpfn + 1;
                } else {
                        places[c].fpfn = 0;
                        places[c].lpfn = 0;