Lines Matching defs:fence
43 struct hl_fence *fence =
46 container_of(fence, struct hl_cs_compl, base_fence);
52 if (fence->error == -EBUSY)
89 void hl_fence_put(struct hl_fence *fence)
91 if (fence)
92 kref_put(&fence->refcount, hl_fence_release);
95 void hl_fence_get(struct hl_fence *fence)
97 if (fence)
98 kref_get(&fence->refcount);
101 static void hl_fence_init(struct hl_fence *fence)
103 kref_init(&fence->refcount);
104 fence->error = 0;
105 init_completion(&fence->completion);
349 * the hl fence release flow is different. Mainly, we don't need
353 cs->fence->error = -ETIMEDOUT;
355 cs->fence->error = -EIO;
357 cs->fence->error = -EBUSY;
359 complete_all(&cs->fence->completion);
360 hl_fence_put(cs->fence);
427 cs->fence = &cs_cmpl->base_fence;
910 * Save the signal CS fence for later initialization right before
1164 struct hl_fence *fence;
1175 fence = hl_ctx_get_fence(ctx, seq);
1176 if (IS_ERR(fence)) {
1177 rc = PTR_ERR(fence);
1182 } else if (fence) {
1184 rc = completion_done(&fence->completion);
1187 &fence->completion, timeout);
1189 if (fence->error == -ETIMEDOUT)
1191 else if (fence->error == -EIO)
1194 hl_fence_put(fence);