diff options
| author | Christian König <christian.koenig@amd.com> | 2019-12-16 16:07:06 +0100 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2020-02-04 23:30:39 -0500 | 
| commit | 5d3196605d00b513a735b358f5e4f2d1b65f6c3a (patch) | |
| tree | 9d0fe419b8e5f7924417bbd06d2f0e89844967c0 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |
| parent | 114fbc31952eb5179da738cf0dd71318d7048bf6 (diff) | |
drm/amdgpu: rework job synchronization v2
For unlocked page table updates we need to be able
to sync to fences of a specific VM.
v2: use SYNC_ALWAYS in the UVD code
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-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_cs.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 474548049e45..f397ff97b4e4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -658,10 +658,12 @@ static int amdgpu_cs_sync_rings(struct amdgpu_cs_parser *p)  	list_for_each_entry(e, &p->validated, tv.head) {  		struct amdgpu_bo *bo = ttm_to_amdgpu_bo(e->tv.bo);  		struct dma_resv *resv = bo->tbo.base.resv; +		enum amdgpu_sync_mode sync_mode; -		r = amdgpu_sync_resv(p->adev, &p->job->sync, resv, &fpriv->vm, -				     amdgpu_bo_explicit_sync(bo)); - +		sync_mode = amdgpu_bo_explicit_sync(bo) ? +			AMDGPU_SYNC_EXPLICIT : AMDGPU_SYNC_NE_OWNER; +		r = amdgpu_sync_resv(p->adev, &p->job->sync, resv, sync_mode, +				     &fpriv->vm);  		if (r)  			return r;  	} | 
