[PATCH 3/7] drm/amdgpu: stop crashing on GDS/GWS/OA eviction

Alex Deucher alexdeucher at gmail.com
Fri Sep 14 20:07:44 UTC 2018


On Fri, Sep 14, 2018 at 3:13 PM Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
>
> Simply ignore any copying here.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index c691275cd1f0..3e450159fe1f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -256,6 +256,13 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo,
>
>         abo = ttm_to_amdgpu_bo(bo);
>         switch (bo->mem.mem_type) {
> +       case AMDGPU_PL_GDS:
> +       case AMDGPU_PL_GWS:
> +       case AMDGPU_PL_OA:
> +               placement->num_placement = 0;
> +               placement->num_busy_placement = 0;
> +               return;
> +
>         case TTM_PL_VRAM:
>                 if (!adev->mman.buffer_funcs_enabled) {
>                         /* Move to system memory */
> @@ -283,6 +290,7 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo,
>         case TTM_PL_TT:
>         default:
>                 amdgpu_bo_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_CPU);
> +               break;
>         }
>         *placement = abo->placement;
>  }
> @@ -675,6 +683,16 @@ static int amdgpu_bo_move(struct ttm_buffer_object *bo, bool evict,
>                 amdgpu_move_null(bo, new_mem);
>                 return 0;
>         }
> +       if (old_mem->mem_type == AMDGPU_PL_GDS ||
> +           old_mem->mem_type == AMDGPU_PL_GWS ||
> +           old_mem->mem_type == AMDGPU_PL_OA ||
> +           new_mem->mem_type == AMDGPU_PL_GDS ||
> +           new_mem->mem_type == AMDGPU_PL_GWS ||
> +           new_mem->mem_type == AMDGPU_PL_OA) {
> +               /* Nothing to save here */
> +               amdgpu_move_null(bo, new_mem);
> +               return 0;
> +       }
>
>         if (!adev->mman.buffer_funcs_enabled)
>                 goto memcpy;
> --
> 2.14.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list