]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amdgpu: Fix for BO move issue
authorArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Tue, 18 Oct 2022 14:08:38 +0000 (07:08 -0700)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 19 Oct 2022 02:14:07 +0000 (22:14 -0400)
A user reported a bug on CAPE VERDE system where uvd_v3_1
IP component failed to initialize as there is an issue with
BO move code from one memory to other.

In function amdgpu_mem_visible() called by amdgpu_bo_move(),
when there are no blocks to compare or if we have a single
block then break the loop.

Fixes: 02ae455f3fb3 ("drm/amdgpu: Fix VRAM BO swap issue")
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@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_ttm.c

index dc262d2c2925ef964a9cd33b20b5b802b68e6c6f..57277b1cf183471ff47d6aba76720d0698e4e9c3 100644 (file)
@@ -439,6 +439,9 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev,
        while (cursor.remaining) {
                amdgpu_res_next(&cursor, cursor.size);
 
+               if (!cursor.remaining)
+                       break;
+
                /* ttm_resource_ioremap only supports contiguous memory */
                if (end != cursor.start)
                        return false;