diff options
author | Andrey Grodzovsky <andrey.grodzovsky@amd.com> | 2017-11-13 14:47:52 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-12-06 12:48:31 -0500 |
commit | cebb52b7bc325863600aff930407bba773010938 (patch) | |
tree | ae833fc3ca280acdf24acb6955d99e604bc9d018 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |
parent | 97489129c220ef67195c886f9f2bad9651edd601 (diff) |
drm/amdgpu: Get rid of dep_sync as a seperate object.
Instead mark fence as explicit in it's amdgpu_sync_entry.
v2:
Fix use after free bug and add new parameter description.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 93d3cef66503..4cea9ab237ac 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |||
@@ -786,7 +786,7 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p) | |||
786 | return r; | 786 | return r; |
787 | 787 | ||
788 | r = amdgpu_sync_fence(adev, &p->job->sync, | 788 | r = amdgpu_sync_fence(adev, &p->job->sync, |
789 | fpriv->prt_va->last_pt_update); | 789 | fpriv->prt_va->last_pt_update, false); |
790 | if (r) | 790 | if (r) |
791 | return r; | 791 | return r; |
792 | 792 | ||
@@ -800,7 +800,7 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p) | |||
800 | return r; | 800 | return r; |
801 | 801 | ||
802 | f = bo_va->last_pt_update; | 802 | f = bo_va->last_pt_update; |
803 | r = amdgpu_sync_fence(adev, &p->job->sync, f); | 803 | r = amdgpu_sync_fence(adev, &p->job->sync, f, false); |
804 | if (r) | 804 | if (r) |
805 | return r; | 805 | return r; |
806 | } | 806 | } |
@@ -823,7 +823,7 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p) | |||
823 | return r; | 823 | return r; |
824 | 824 | ||
825 | f = bo_va->last_pt_update; | 825 | f = bo_va->last_pt_update; |
826 | r = amdgpu_sync_fence(adev, &p->job->sync, f); | 826 | r = amdgpu_sync_fence(adev, &p->job->sync, f, false); |
827 | if (r) | 827 | if (r) |
828 | return r; | 828 | return r; |
829 | } | 829 | } |
@@ -834,7 +834,7 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p) | |||
834 | if (r) | 834 | if (r) |
835 | return r; | 835 | return r; |
836 | 836 | ||
837 | r = amdgpu_sync_fence(adev, &p->job->sync, vm->last_update); | 837 | r = amdgpu_sync_fence(adev, &p->job->sync, vm->last_update, false); |
838 | if (r) | 838 | if (r) |
839 | return r; | 839 | return r; |
840 | 840 | ||
@@ -1038,8 +1038,8 @@ static int amdgpu_cs_process_fence_dep(struct amdgpu_cs_parser *p, | |||
1038 | amdgpu_ctx_put(ctx); | 1038 | amdgpu_ctx_put(ctx); |
1039 | return r; | 1039 | return r; |
1040 | } else if (fence) { | 1040 | } else if (fence) { |
1041 | r = amdgpu_sync_fence(p->adev, &p->job->dep_sync, | 1041 | r = amdgpu_sync_fence(p->adev, &p->job->sync, fence, |
1042 | fence); | 1042 | true); |
1043 | dma_fence_put(fence); | 1043 | dma_fence_put(fence); |
1044 | amdgpu_ctx_put(ctx); | 1044 | amdgpu_ctx_put(ctx); |
1045 | if (r) | 1045 | if (r) |
@@ -1058,7 +1058,7 @@ static int amdgpu_syncobj_lookup_and_add_to_sync(struct amdgpu_cs_parser *p, | |||
1058 | if (r) | 1058 | if (r) |
1059 | return r; | 1059 | return r; |
1060 | 1060 | ||
1061 | r = amdgpu_sync_fence(p->adev, &p->job->dep_sync, fence); | 1061 | r = amdgpu_sync_fence(p->adev, &p->job->sync, fence, true); |
1062 | dma_fence_put(fence); | 1062 | dma_fence_put(fence); |
1063 | 1063 | ||
1064 | return r; | 1064 | return r; |