Thanks for the fix. I still don't quite understand how this works. We
still call ttm_bo_move_ttm for a pinned BO. Maybe the function name is
misleading. As I understand it, this doesn't move the memory physically.
It just changes the GART address mapping? All that's needed is
maintaining the flags to ensure that the pinned BO stays off the LRU
lists and won't get swapped out?

Thanks,
  Felix


On 2017-09-01 03:24 AM, Christian König wrote:
> From: Christian König <christian.koe...@amd.com>
>
> Otherwise we lose the NO_EVICT flag and can try to evict pinned BOs.
>
> Signed-off-by: Christian König <christian.koe...@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index e9a0518..ac14c18 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -819,7 +819,7 @@ int amdgpu_ttm_bind(struct ttm_buffer_object *bo, struct 
> ttm_mem_reg *bo_mem)
>       placement.busy_placement = &placements;
>       placements.fpfn = 0;
>       placements.lpfn = adev->mc.gart_size >> PAGE_SHIFT;
> -     placements.flags = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT;
> +     placements.flags = bo->mem.placement | TTM_PL_FLAG_TT;
>  
>       r = ttm_bo_mem_space(bo, &placement, &tmp, true, false);
>       if (unlikely(r))

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to