diff options
author | Christian König <christian.koenig@amd.com> | 2017-04-12 09:33:00 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-12-06 12:48:02 -0500 |
commit | c13c55d611865a99871bb86cf1fc0017b8cc605a (patch) | |
tree | 69854ede3d0cd3b877f01ba10db309020311504a /drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |
parent | 6fead44a4c5897c1524005ed3228b86120ff3ada (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.c | 11 |
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, | |||
878 | int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo) | 878 | int 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 | ||