drm/amdgpu: Fix comparison in amdgpu_res_cpu_visible
authorMichel Dänzer <mdaenzer@redhat.com>
Wed, 8 May 2024 13:19:16 +0000 (15:19 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 10 May 2024 17:05:13 +0000 (13:05 -0400)
It incorrectly claimed a resource isn't CPU visible if it's located at
the very end of CPU visible VRAM.

Fixes: a6ff969fe9cb ("drm/amdgpu: fix visible VRAM handling during faults")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3343
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reported-and-Tested-by: Jeremy Day <jsday@noreason.ca>
Signed-off-by: Michel Dänzer <mdaenzer@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
CC: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index 109fe557a02bc85d562310bdc5fff082ecf8f2ba..29c197c000187189cc9e5eba93a693e306a74bd3 100644 (file)
@@ -427,7 +427,7 @@ bool amdgpu_res_cpu_visible(struct amdgpu_device *adev,
 
        amdgpu_res_first(res, 0, res->size, &cursor);
        while (cursor.remaining) {
-               if ((cursor.start + cursor.size) >= adev->gmc.visible_vram_size)
+               if ((cursor.start + cursor.size) > adev->gmc.visible_vram_size)
                        return false;
                amdgpu_res_next(&cursor, cursor.size);
        }