diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 41bd2dad842c..438d10ae343b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -654,16 +654,19 @@ out:  static int amdgpu_cs_sync_rings(struct amdgpu_cs_parser *p)  { +	struct amdgpu_fpriv *fpriv = p->filp->driver_priv;  	struct amdgpu_bo_list_entry *e;  	int r;  	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, p->filp, -				     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;  	} @@ -1214,7 +1217,7 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,  	job = p->job;  	p->job = NULL; -	r = drm_sched_job_init(&job->base, entity, p->filp); +	r = drm_sched_job_init(&job->base, entity, &fpriv->vm);  	if (r)  		goto error_unlock; | 
