瀏覽代碼

drm/amdgpu: wait interruptible when semaphores are disabled v2

Otherwise debugging locked up processes isn't possible.

v2: rebased

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Christian König 10 年之前
父節點
當前提交
680513cc0a
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c

+ 8 - 2
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)