[PATCH 03/45] drm/amdgpu/ttm: handle tt moves properly.
Christian König
christian.koenig at amd.com
Thu Sep 24 11:10:28 UTC 2020
Am 24.09.20 um 07:18 schrieb Dave Airlie:
> From: Dave Airlie <airlied at redhat.com>
>
> The core move code currently handles use_tt moves, for amdgpu
> this was being handled also in the driver, but not using the same
> paths.
>
> If moving between TT/SYSTEM (all the use_tt paths on amdgpu) use
> the core move function.
>
> Eventually the core will be flipped over to calling the driver.
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index db5f761f37ec..d3bd2fd448be 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -671,14 +671,16 @@ static int amdgpu_bo_move(struct ttm_buffer_object *bo, bool evict,
> ttm_bo_move_null(bo, new_mem);
> return 0;
> }
> - if ((old_mem->mem_type == TTM_PL_TT &&
> - new_mem->mem_type == TTM_PL_SYSTEM) ||
> - (old_mem->mem_type == TTM_PL_SYSTEM &&
> - new_mem->mem_type == TTM_PL_TT)) {
> - /* bind is enough */
> + if (old_mem->mem_type == TTM_PL_SYSTEM &&
> + new_mem->mem_type == TTM_PL_TT) {
> ttm_bo_move_null(bo, new_mem);
> return 0;
> }
> +
> + if (old_mem->mem_type == TTM_PL_TT &&
> + new_mem->mem_type == TTM_PL_SYSTEM)
> + return ttm_bo_move_ttm(bo, ctx, new_mem);
> +
> if (old_mem->mem_type == AMDGPU_PL_GDS ||
> old_mem->mem_type == AMDGPU_PL_GWS ||
> old_mem->mem_type == AMDGPU_PL_OA ||
More information about the dri-devel
mailing list