aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-04-12 09:33:00 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-12-06 12:48:02 -0500
commitc13c55d611865a99871bb86cf1fc0017b8cc605a (patch)
tree69854ede3d0cd3b877f01ba10db309020311504a /drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
parent6fead44a4c5897c1524005ed3228b86120ff3ada (diff)
drm/ttm: use an operation context for ttm_bo_mem_space v2
Instead of specifying interruptible and no_wait_gpu manually. v2: rebase Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Tested-by: Michel Dänzer <michel.daenzer@amd.com> Acked-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 07ecf721ebf9..48b24155462c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -471,6 +471,7 @@ static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo,
471 bool no_wait_gpu, 471 bool no_wait_gpu,
472 struct ttm_mem_reg *new_mem) 472 struct ttm_mem_reg *new_mem)
473{ 473{
474 struct ttm_operation_ctx ctx = { interruptible, no_wait_gpu };
474 struct amdgpu_device *adev; 475 struct amdgpu_device *adev;
475 struct ttm_mem_reg *old_mem = &bo->mem; 476 struct ttm_mem_reg *old_mem = &bo->mem;
476 struct ttm_mem_reg tmp_mem; 477 struct ttm_mem_reg tmp_mem;
@@ -488,8 +489,7 @@ static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo,
488 placements.fpfn = 0; 489 placements.fpfn = 0;
489 placements.lpfn = 0; 490 placements.lpfn = 0;
490 placements.flags = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; 491 placements.flags = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT;
491 r = ttm_bo_mem_space(bo, &placement, &tmp_mem, 492 r = ttm_bo_mem_space(bo, &placement, &tmp_mem, &ctx);
492 interruptible, no_wait_gpu);
493 if (unlikely(r)) { 493 if (unlikely(r)) {
494 return r; 494 return r;
495 } 495 }
@@ -518,6 +518,7 @@ static int amdgpu_move_ram_vram(struct ttm_buffer_object *bo,
518 bool no_wait_gpu, 518 bool no_wait_gpu,
519 struct ttm_mem_reg *new_mem) 519 struct ttm_mem_reg *new_mem)
520{ 520{
521 struct ttm_operation_ctx ctx = { interruptible, no_wait_gpu };
521 struct amdgpu_device *adev; 522 struct amdgpu_device *adev;
522 struct ttm_mem_reg *old_mem = &bo->mem; 523 struct ttm_mem_reg *old_mem = &bo->mem;
523 struct ttm_mem_reg tmp_mem; 524 struct ttm_mem_reg tmp_mem;
@@ -535,8 +536,7 @@ static int amdgpu_move_ram_vram(struct ttm_buffer_object *bo,
535 placements.fpfn = 0; 536 placements.fpfn = 0;
536 placements.lpfn = 0; 537 placements.lpfn = 0;
537 placements.flags = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; 538 placements.flags = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT;
538 r = ttm_bo_mem_space(bo, &placement, &tmp_mem, 539 r = ttm_bo_mem_space(bo, &placement, &tmp_mem, &ctx);
539 interruptible, no_wait_gpu);
540 if (unlikely(r)) { 540 if (unlikely(r)) {
541 return r; 541 return r;
542 } 542 }
@@ -878,6 +878,7 @@ static int amdgpu_ttm_backend_bind(struct ttm_tt *ttm,
878int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo) 878int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo)
879{ 879{
880 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev); 880 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
881 struct ttm_operation_ctx ctx = { false, false };
881 struct amdgpu_ttm_tt *gtt = (void*)bo->ttm; 882 struct amdgpu_ttm_tt *gtt = (void*)bo->ttm;
882 struct ttm_mem_reg tmp; 883 struct ttm_mem_reg tmp;
883 struct ttm_placement placement; 884 struct ttm_placement placement;
@@ -900,7 +901,7 @@ int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo)
900 placements.flags = (bo->mem.placement & ~TTM_PL_MASK_MEM) | 901 placements.flags = (bo->mem.placement & ~TTM_PL_MASK_MEM) |
901 TTM_PL_FLAG_TT; 902 TTM_PL_FLAG_TT;
902 903
903 r = ttm_bo_mem_space(bo, &placement, &tmp, false, false); 904 r = ttm_bo_mem_space(bo, &placement, &tmp, &ctx);
904 if (unlikely(r)) 905 if (unlikely(r))
905 return r; 906 return r;
906 907