diff options
Diffstat (limited to '785699dbc7041b99e0027bff27ffe17eba202e96.patch')
-rw-r--r-- | 785699dbc7041b99e0027bff27ffe17eba202e96.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/785699dbc7041b99e0027bff27ffe17eba202e96.patch b/785699dbc7041b99e0027bff27ffe17eba202e96.patch deleted file mode 100644 index f11da7b31d53..000000000000 --- a/785699dbc7041b99e0027bff27ffe17eba202e96.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 785699dbc7041b99e0027bff27ffe17eba202e96 Mon Sep 17 00:00:00 2001 -From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> -Date: Tue, 4 Oct 2022 07:33:39 -0700 -Subject: [PATCH] drm/amdgpu: Fix VRAM BO swap issue -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -DRM buddy manager allocates the contiguous memory requests in -a single block or multiple blocks. So for the ttm move operation -(incase of low vram memory) we should consider all the blocks to -compute the total memory size which compared with the struct -ttm_resource num_pages in order to verify that the blocks are -contiguous for the eviction process. - -v2: Added a Fixes tag -v3: Rewrite the code to save a bit of calculations and - variables (Christian) - -Fixes: c9cad937c0c5 ("drm/amdgpu: add drm buddy support to amdgpu") -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 | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -index 134575a3893c53..794062ab57fca4 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -@@ -424,8 +424,9 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo, - static bool amdgpu_mem_visible(struct amdgpu_device *adev, - struct ttm_resource *mem) - { -- uint64_t mem_size = (u64)mem->num_pages << PAGE_SHIFT; -+ u64 mem_size = (u64)mem->num_pages << PAGE_SHIFT; - struct amdgpu_res_cursor cursor; -+ u64 end; - - if (mem->mem_type == TTM_PL_SYSTEM || - mem->mem_type == TTM_PL_TT) -@@ -434,12 +435,18 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, - return false; - - amdgpu_res_first(mem, 0, mem_size, &cursor); -+ end = cursor.start + cursor.size; -+ while (cursor.remaining) { -+ amdgpu_res_next(&cursor, cursor.size); - -- /* ttm_resource_ioremap only supports contiguous memory */ -- if (cursor.size != mem_size) -- return false; -+ /* ttm_resource_ioremap only supports contiguous memory */ -+ if (end != cursor.start) -+ return false; -+ -+ end = cursor.start + cursor.size; -+ } - -- return cursor.start + cursor.size <= adev->gmc.visible_vram_size; -+ return end <= adev->gmc.visible_vram_size; - } - - /* |