Lines Matching refs:fence

432 		struct dma_fence *fence;  in amdgpu_cs_p2_dependencies()  local
446 fence = amdgpu_ctx_get_fence(ctx, entity, deps[i].handle); in amdgpu_cs_p2_dependencies()
449 if (IS_ERR(fence)) in amdgpu_cs_p2_dependencies()
450 return PTR_ERR(fence); in amdgpu_cs_p2_dependencies()
451 else if (!fence) in amdgpu_cs_p2_dependencies()
456 struct dma_fence *old = fence; in amdgpu_cs_p2_dependencies()
458 s_fence = to_drm_sched_fence(fence); in amdgpu_cs_p2_dependencies()
459 fence = dma_fence_get(&s_fence->scheduled); in amdgpu_cs_p2_dependencies()
463 r = amdgpu_sync_fence(&p->sync, fence, GFP_KERNEL); in amdgpu_cs_p2_dependencies()
464 dma_fence_put(fence); in amdgpu_cs_p2_dependencies()
475 struct dma_fence *fence; in amdgpu_syncobj_lookup_and_add() local
478 r = drm_syncobj_find_fence(p->filp, handle, point, flags, &fence); in amdgpu_syncobj_lookup_and_add()
485 r = amdgpu_sync_fence(&p->sync, fence, GFP_KERNEL); in amdgpu_syncobj_lookup_and_add()
486 dma_fence_put(fence); in amdgpu_syncobj_lookup_and_add()
1210 struct dma_fence *fence; in amdgpu_cs_sync_rings() local
1242 while ((fence = amdgpu_sync_get_fence(&p->sync))) { in amdgpu_cs_sync_rings()
1243 struct drm_sched_fence *s_fence = to_drm_sched_fence(fence); in amdgpu_cs_sync_rings()
1252 dma_fence_put(fence); in amdgpu_cs_sync_rings()
1256 r = amdgpu_sync_fence(&p->gang_leader->explicit_sync, fence, in amdgpu_cs_sync_rings()
1258 dma_fence_put(fence); in amdgpu_cs_sync_rings()
1273 p->fence, p->post_deps[i].point); in amdgpu_cs_post_dependencies()
1277 p->fence); in amdgpu_cs_post_dependencies()
1298 struct dma_fence *fence; in amdgpu_cs_submit() local
1303 fence = &p->jobs[i]->base.s_fence->scheduled; in amdgpu_cs_submit()
1304 dma_fence_get(fence); in amdgpu_cs_submit()
1305 r = drm_sched_job_add_dependency(&leader->base, fence); in amdgpu_cs_submit()
1307 dma_fence_put(fence); in amdgpu_cs_submit()
1339 p->fence = dma_fence_get(&leader->base.s_fence->finished); in amdgpu_cs_submit()
1355 dma_resv_add_fence(gobj->resv, p->fence, DMA_RESV_USAGE_WRITE); in amdgpu_cs_submit()
1359 p->fence); in amdgpu_cs_submit()
1401 dma_fence_put(parser->fence); in amdgpu_cs_parser_fini()
1508 struct dma_fence *fence; in amdgpu_cs_wait_ioctl() local
1522 fence = amdgpu_ctx_get_fence(ctx, entity, wait->in.handle); in amdgpu_cs_wait_ioctl()
1523 if (IS_ERR(fence)) in amdgpu_cs_wait_ioctl()
1524 r = PTR_ERR(fence); in amdgpu_cs_wait_ioctl()
1525 else if (fence) { in amdgpu_cs_wait_ioctl()
1526 r = dma_fence_wait_timeout(fence, true, timeout); in amdgpu_cs_wait_ioctl()
1527 if (r > 0 && fence->error) in amdgpu_cs_wait_ioctl()
1528 r = fence->error; in amdgpu_cs_wait_ioctl()
1529 dma_fence_put(fence); in amdgpu_cs_wait_ioctl()
1556 struct dma_fence *fence; in amdgpu_cs_get_fence() local
1570 fence = amdgpu_ctx_get_fence(ctx, entity, user->seq_no); in amdgpu_cs_get_fence()
1573 return fence; in amdgpu_cs_get_fence()
1581 struct dma_fence *fence; in amdgpu_cs_fence_to_handle_ioctl() local
1586 fence = amdgpu_cs_get_fence(adev, filp, &info->in.fence); in amdgpu_cs_fence_to_handle_ioctl()
1587 if (IS_ERR(fence)) in amdgpu_cs_fence_to_handle_ioctl()
1588 return PTR_ERR(fence); in amdgpu_cs_fence_to_handle_ioctl()
1590 if (!fence) in amdgpu_cs_fence_to_handle_ioctl()
1591 fence = dma_fence_get_stub(); in amdgpu_cs_fence_to_handle_ioctl()
1595 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl()
1596 dma_fence_put(fence); in amdgpu_cs_fence_to_handle_ioctl()
1604 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl()
1605 dma_fence_put(fence); in amdgpu_cs_fence_to_handle_ioctl()
1615 dma_fence_put(fence); in amdgpu_cs_fence_to_handle_ioctl()
1619 sync_file = sync_file_create(fence); in amdgpu_cs_fence_to_handle_ioctl()
1620 dma_fence_put(fence); in amdgpu_cs_fence_to_handle_ioctl()
1631 dma_fence_put(fence); in amdgpu_cs_fence_to_handle_ioctl()
1654 struct dma_fence *fence; in amdgpu_cs_wait_all_fences() local
1657 fence = amdgpu_cs_get_fence(adev, filp, &fences[i]); in amdgpu_cs_wait_all_fences()
1658 if (IS_ERR(fence)) in amdgpu_cs_wait_all_fences()
1659 return PTR_ERR(fence); in amdgpu_cs_wait_all_fences()
1660 else if (!fence) in amdgpu_cs_wait_all_fences()
1663 r = dma_fence_wait_timeout(fence, true, timeout); in amdgpu_cs_wait_all_fences()
1664 if (r > 0 && fence->error) in amdgpu_cs_wait_all_fences()
1665 r = fence->error; in amdgpu_cs_wait_all_fences()
1667 dma_fence_put(fence); in amdgpu_cs_wait_all_fences()
1708 struct dma_fence *fence; in amdgpu_cs_wait_any_fence() local
1710 fence = amdgpu_cs_get_fence(adev, filp, &fences[i]); in amdgpu_cs_wait_any_fence()
1711 if (IS_ERR(fence)) { in amdgpu_cs_wait_any_fence()
1712 r = PTR_ERR(fence); in amdgpu_cs_wait_any_fence()
1714 } else if (fence) { in amdgpu_cs_wait_any_fence()
1715 array[i] = fence; in amdgpu_cs_wait_any_fence()