Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu/userq: fence wait for max time in amdgpu_userq_wait_for_signal

wait for infinite time for fences in function amdgpu_userq_wait_for_signal
and for that use dma_fence_wait(f, false);

Suggested-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Sunil Khatri and committed by
Alex Deucher
1e57e72a d65bfb17

+3 -12
+3 -12
drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
··· 1280 1280 amdgpu_device_gpu_recover(adev, NULL, &reset_context); 1281 1281 } 1282 1282 1283 - static int 1283 + static void 1284 1284 amdgpu_userq_wait_for_signal(struct amdgpu_userq_mgr *uq_mgr) 1285 1285 { 1286 1286 struct amdgpu_usermode_queue *queue; 1287 1287 unsigned long queue_id; 1288 - int ret; 1289 1288 1290 1289 xa_for_each(&uq_mgr->userq_xa, queue_id, queue) { 1291 1290 struct dma_fence *f = queue->last_fence; 1292 1291 1293 - if (!f || dma_fence_is_signaled(f)) 1292 + if (!f) 1294 1293 continue; 1295 1294 1296 - ret = dma_fence_wait_timeout(f, true, msecs_to_jiffies(100)); 1297 - if (ret <= 0) { 1298 - drm_file_err(uq_mgr->file, "Timed out waiting for fence=%llu:%llu\n", 1299 - f->context, f->seqno); 1300 - 1301 - return -ETIMEDOUT; 1302 - } 1295 + dma_fence_wait(f, false); 1303 1296 } 1304 - 1305 - return 0; 1306 1297 } 1307 1298 1308 1299 void