mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-27 22:51:31 +00:00
drm/amdgpu: Set TTM_PAGE_FLAG_SG earlier for userprt BOs
Because TTM do page counting on userptr BOs which is actually not needed. To avoid that, lets set TTM_PAGE_FLAG_SG after tt_create and before tt_populate. Signed-off-by: xinhui pan <xinhui.pan@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
d472b36efb
commit
84408d5f38
1 changed files with 3 additions and 3 deletions
|
@ -1129,8 +1129,6 @@ static int amdgpu_ttm_tt_populate(struct ttm_device *bdev,
|
|||
ttm->sg = kzalloc(sizeof(struct sg_table), GFP_KERNEL);
|
||||
if (!ttm->sg)
|
||||
return -ENOMEM;
|
||||
|
||||
ttm->page_flags |= TTM_PAGE_FLAG_SG;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1156,7 +1154,6 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_device *bdev,
|
|||
amdgpu_ttm_tt_set_user_pages(ttm, NULL);
|
||||
kfree(ttm->sg);
|
||||
ttm->sg = NULL;
|
||||
ttm->page_flags &= ~TTM_PAGE_FLAG_SG;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1190,6 +1187,9 @@ int amdgpu_ttm_tt_set_userptr(struct ttm_buffer_object *bo,
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* Set TTM_PAGE_FLAG_SG before populate but after create. */
|
||||
bo->ttm->page_flags |= TTM_PAGE_FLAG_SG;
|
||||
|
||||
gtt = (void *)bo->ttm;
|
||||
gtt->userptr = addr;
|
||||
gtt->userflags = flags;
|
||||
|
|
Loading…
Reference in a new issue