Skip to content

Commit

Permalink
drm/amdgpu: use new cursor in amdgpu_mem_visible
Browse files Browse the repository at this point in the history
Separate the drm_mm_node walking from the actual handling.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Oak Zeng <Oak.Zeng@amd.com>
Tested-by: Nirmoy Das <nirmoy.das@amd.com>
Reviewed-by: Arunpravin <Arunpravin.PaneerSelvam@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  • Loading branch information
Christian König authored and Alex Deucher committed Mar 24, 2021
1 parent 498ad8e commit 755eadf
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
Original file line number Diff line number Diff line change
Expand Up @@ -441,20 +441,22 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo,
static bool amdgpu_mem_visible(struct amdgpu_device *adev,
struct ttm_resource *mem)
{
struct drm_mm_node *nodes = mem->mm_node;
uint64_t mem_size = (u64)mem->num_pages << PAGE_SHIFT;
struct amdgpu_res_cursor cursor;

if (mem->mem_type == TTM_PL_SYSTEM ||
mem->mem_type == TTM_PL_TT)
return true;
if (mem->mem_type != TTM_PL_VRAM)
return false;

amdgpu_res_first(mem, 0, mem_size, &cursor);

/* ttm_resource_ioremap only supports contiguous memory */
if (nodes->size != mem->num_pages)
if (cursor.size != mem_size)
return false;

return ((nodes->start + nodes->size) << PAGE_SHIFT)
<= adev->gmc.visible_vram_size;
return cursor.start + cursor.size <= adev->gmc.visible_vram_size;
}

/*
Expand Down

0 comments on commit 755eadf

Please sign in to comment.