diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c index a6697fd05217..dd005c336c97 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c @@ -302,8 +302,14 @@ int amdgpu_sync_rings(struct amdgpu_sync *sync,  			return -EINVAL;  		} -		if (amdgpu_enable_scheduler || !amdgpu_enable_semaphores || -		    (count >= AMDGPU_NUM_SYNCS)) { +		if (amdgpu_enable_scheduler || !amdgpu_enable_semaphores) { +			r = fence_wait(&fence->base, true); +			if (r) +				return r; +			continue; +		} + +		if (count >= AMDGPU_NUM_SYNCS) {  			/* not enough room, wait manually */  			r = fence_wait(&fence->base, false);  			if (r)  |