diff options
author | Chunming Zhou <david1.zhou@amd.com> | 2015-08-02 23:43:19 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-17 16:50:54 -0400 |
commit | 1763552ee8a7f39a1788d24e27b50d4dee383520 (patch) | |
tree | 84d272a00dfcde18558663b2c79800cc1b51ea27 /drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | |
parent | ed88a0ee7ff53c292350fc5d38eae161c2372d51 (diff) |
drm/amdgpu: add kernel fence in ib_submit_kernel_helper
every sbumission should be able to get a fence.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian K?nig <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c index 9b2730599134..f114c6b49b9d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | |||
@@ -825,6 +825,7 @@ static int amdgpu_uvd_send_msg(struct amdgpu_ring *ring, | |||
825 | struct ww_acquire_ctx ticket; | 825 | struct ww_acquire_ctx ticket; |
826 | struct list_head head; | 826 | struct list_head head; |
827 | struct amdgpu_ib *ib = NULL; | 827 | struct amdgpu_ib *ib = NULL; |
828 | struct fence *f = NULL; | ||
828 | struct amdgpu_device *adev = ring->adev; | 829 | struct amdgpu_device *adev = ring->adev; |
829 | uint64_t addr; | 830 | uint64_t addr; |
830 | int i, r; | 831 | int i, r; |
@@ -869,14 +870,15 @@ static int amdgpu_uvd_send_msg(struct amdgpu_ring *ring, | |||
869 | 870 | ||
870 | r = amdgpu_sched_ib_submit_kernel_helper(adev, ring, ib, 1, | 871 | r = amdgpu_sched_ib_submit_kernel_helper(adev, ring, ib, 1, |
871 | &amdgpu_uvd_free_job, | 872 | &amdgpu_uvd_free_job, |
872 | AMDGPU_FENCE_OWNER_UNDEFINED); | 873 | AMDGPU_FENCE_OWNER_UNDEFINED, |
874 | &f); | ||
873 | if (r) | 875 | if (r) |
874 | goto err2; | 876 | goto err2; |
875 | 877 | ||
876 | ttm_eu_fence_buffer_objects(&ticket, &head, &ib->fence->base); | 878 | ttm_eu_fence_buffer_objects(&ticket, &head, f); |
877 | 879 | ||
878 | if (fence) | 880 | if (fence) |
879 | *fence = fence_get(&ib->fence->base); | 881 | *fence = fence_get(f); |
880 | amdgpu_bo_unref(&bo); | 882 | amdgpu_bo_unref(&bo); |
881 | 883 | ||
882 | if (amdgpu_enable_scheduler) | 884 | if (amdgpu_enable_scheduler) |