drm/amdgpu: Fix VRAM eviction issue
authorArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Thu, 22 Sep 2022 15:14:47 +0000 (08:14 -0700)
committerChristian König <christian.koenig@amd.com>
Thu, 22 Sep 2022 17:53:06 +0000 (19:53 +0200)
A user reported that when he starts a game (MTGA) with wine,
he observed an error msg failed to pin framebuffer with error -12.
Found an issue with the VRAM mem type eviction decision condition
logic. This patch will fix the if condition code error.

Gitlab bug link:
https://gitlab.freedesktop.org/drm/amd/-/issues/2159

Fixes: ded910f368a5 ("drm/amdgpu: Implement intersect/compatible functions")
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220922151447.265696-1-Arunpravin.PaneerSelvam@amd.com
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c

index d1a2619..73a517b 100644 (file)
@@ -746,7 +746,7 @@ static bool amdgpu_vram_mgr_intersects(struct ttm_resource_manager *man,
                        (amdgpu_vram_mgr_block_size(block) >> PAGE_SHIFT);
 
                if (place->fpfn < lpfn &&
-                   (place->lpfn && place->lpfn > fpfn))
+                   (!place->lpfn || place->lpfn > fpfn))
                        return true;
        }