From: Chunming Zhou Date: Mon, 3 Aug 2015 03:38:09 +0000 (+0800) Subject: drm/amdgpu: use kernel fence diretly in amdgpu_bo_fence X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=e40a31159b72742224c249cf57c5313be7ccd629;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git drm/amdgpu: use kernel fence diretly in amdgpu_bo_fence Signed-off-by: Chunming Zhou Reviewed-by: Christian K?nig Reviewed-by: Jammy Zhou --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 6c63a2c6395c..87d67f8c85c9 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -658,13 +658,13 @@ int amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo) * @shared: true if fence should be added shared * */ -void amdgpu_bo_fence(struct amdgpu_bo *bo, struct amdgpu_fence *fence, +void amdgpu_bo_fence(struct amdgpu_bo *bo, struct fence *fence, bool shared) { struct reservation_object *resv = bo->tbo.resv; if (shared) - reservation_object_add_shared_fence(resv, &fence->base); + reservation_object_add_shared_fence(resv, fence); else - reservation_object_add_excl_fence(resv, &fence->base); + reservation_object_add_excl_fence(resv, fence); } diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h index 675bdc30e41d..238465a9ac55 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h @@ -161,7 +161,7 @@ int amdgpu_bo_get_metadata(struct amdgpu_bo *bo, void *buffer, void amdgpu_bo_move_notify(struct ttm_buffer_object *bo, struct ttm_mem_reg *new_mem); int amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo); -void amdgpu_bo_fence(struct amdgpu_bo *bo, struct amdgpu_fence *fence, +void amdgpu_bo_fence(struct amdgpu_bo *bo, struct fence *fence, bool shared); /* diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index f2166320a5e5..8745d4cc7ae0 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -320,7 +320,7 @@ static int amdgpu_vm_run_job( struct amdgpu_cs_parser *sched_job) { amdgpu_bo_fence(sched_job->job_param.vm.bo, - sched_job->ibs[sched_job->num_ibs -1].fence, true); + &sched_job->ibs[sched_job->num_ibs -1].fence->base, true); return 0; } @@ -397,7 +397,7 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev, r = amdgpu_ib_schedule(adev, 1, ib, AMDGPU_FENCE_OWNER_VM); if (r) goto error_free; - amdgpu_bo_fence(bo, ib->fence, true); + amdgpu_bo_fence(bo, &ib->fence->base, true); } error_free: @@ -547,7 +547,7 @@ int amdgpu_vm_update_page_directory(struct amdgpu_device *adev, amdgpu_ib_free(adev, ib); return r; } - amdgpu_bo_fence(pd, ib->fence, true); + amdgpu_bo_fence(pd, &ib->fence->base, true); } } @@ -745,7 +745,7 @@ static void amdgpu_vm_fence_pts(struct amdgpu_vm *vm, end >>= amdgpu_vm_block_size; for (i = start; i <= end; ++i) - amdgpu_bo_fence(vm->page_tables[i].bo, fence, true); + amdgpu_bo_fence(vm->page_tables[i].bo, &fence->base, true); } static int amdgpu_vm_bo_update_mapping_run_job(