Commit 84408d5f authored by xinhui pan's avatar xinhui pan Committed by Alex Deucher
Browse files

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: default avatarxinhui pan <xinhui.pan@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d472b36e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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;