diff options
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c index 31f8170313b4..ce7739832d29 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c @@ -231,6 +231,12 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,  	if (ib->flags & AMDGPU_IB_FLAG_TC_WB_NOT_INVALIDATE)  		fence_flags |= AMDGPU_FENCE_FLAG_TC_WB_ONLY; +	/* wrap the last IB with fence */ +	if (job && job->uf_addr) { +		amdgpu_ring_emit_fence(ring, job->uf_addr, job->uf_sequence, +				       fence_flags | AMDGPU_FENCE_FLAG_64BIT); +	} +  	r = amdgpu_fence_emit(ring, f, fence_flags);  	if (r) {  		dev_err(adev->dev, "failed to emit fence (%d)\n", r); @@ -243,12 +249,6 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,  	if (ring->funcs->insert_end)  		ring->funcs->insert_end(ring); -	/* wrap the last IB with fence */ -	if (job && job->uf_addr) { -		amdgpu_ring_emit_fence(ring, job->uf_addr, job->uf_sequence, -				       fence_flags | AMDGPU_FENCE_FLAG_64BIT); -	} -  	if (patch_offset != ~0 && ring->funcs->patch_cond_exec)  		amdgpu_ring_patch_cond_exec(ring, patch_offset); | 
