Lines Matching refs:pend

1099 	struct hl_user_pending_interrupt *pend, *temp;  in wake_pending_user_interrupt_threads()  local
1103 list_for_each_entry_safe(pend, temp, &interrupt->wait_list_head, list_node) { in wake_pending_user_interrupt_threads()
1104 pend->fence.error = -EIO; in wake_pending_user_interrupt_threads()
1105 complete_all(&pend->fence.completion); in wake_pending_user_interrupt_threads()
1110 list_for_each_entry_safe(pend, temp, &interrupt->ts_list_head, list_node) { in wake_pending_user_interrupt_threads()
1111 list_del(&pend->list_node); in wake_pending_user_interrupt_threads()
1112 hl_mmap_mem_buf_put(pend->ts_reg_info.buf); in wake_pending_user_interrupt_threads()
1113 hl_cb_put(pend->ts_reg_info.cq_cb); in wake_pending_user_interrupt_threads()
3273 struct hl_user_pending_interrupt **pend) in ts_get_and_handle_kernel_record() argument
3314 *pend = req_offset_record; in ts_get_and_handle_kernel_record()
3323 struct hl_user_pending_interrupt *pend; in _hl_interrupt_ts_reg_ioctl() local
3351 rc = ts_get_and_handle_kernel_record(hdev, ctx, data, &flags, &pend); in _hl_interrupt_ts_reg_ioctl()
3360 if (*pend->cq_kernel_addr >= data->target_value) { in _hl_interrupt_ts_reg_ioctl()
3363 pend->ts_reg_info.in_use = 0; in _hl_interrupt_ts_reg_ioctl()
3365 *pend->ts_reg_info.timestamp_kernel_addr = ktime_get_ns(); in _hl_interrupt_ts_reg_ioctl()
3370 list_add_tail(&pend->list_node, &data->interrupt->ts_list_head); in _hl_interrupt_ts_reg_ioctl()
3393 struct hl_user_pending_interrupt *pend; in _hl_interrupt_wait_ioctl() local
3415 pend = kzalloc(sizeof(*pend), GFP_KERNEL); in _hl_interrupt_wait_ioctl()
3416 if (!pend) { in _hl_interrupt_wait_ioctl()
3421 hl_fence_init(&pend->fence, ULONG_MAX); in _hl_interrupt_wait_ioctl()
3422 pend->cq_kernel_addr = (u64 *) data->cq_cb->kernel_address + data->cq_offset; in _hl_interrupt_wait_ioctl()
3423 pend->cq_target_value = data->target_value; in _hl_interrupt_wait_ioctl()
3430 if (*pend->cq_kernel_addr >= data->target_value || (!data->intr_timeout_us)) { in _hl_interrupt_wait_ioctl()
3433 if (*pend->cq_kernel_addr >= data->target_value) in _hl_interrupt_wait_ioctl()
3438 pend->fence.timestamp = ktime_get(); in _hl_interrupt_wait_ioctl()
3448 list_add_tail(&pend->list_node, &data->interrupt->wait_list_head); in _hl_interrupt_wait_ioctl()
3452 completion_rc = wait_for_completion_interruptible_timeout(&pend->fence.completion, in _hl_interrupt_wait_ioctl()
3455 if (pend->fence.error == -EIO) { in _hl_interrupt_wait_ioctl()
3458 pend->fence.error); in _hl_interrupt_wait_ioctl()
3489 list_del(&pend->list_node); in _hl_interrupt_wait_ioctl()
3493 *timestamp = ktime_to_ns(pend->fence.timestamp); in _hl_interrupt_wait_ioctl()
3494 kfree(pend); in _hl_interrupt_wait_ioctl()
3514 struct hl_user_pending_interrupt *pend; in _hl_interrupt_wait_ioctl_user_addr() local
3524 pend = kzalloc(sizeof(*pend), GFP_KERNEL); in _hl_interrupt_wait_ioctl_user_addr()
3525 if (!pend) { in _hl_interrupt_wait_ioctl_user_addr()
3530 hl_fence_init(&pend->fence, ULONG_MAX); in _hl_interrupt_wait_ioctl_user_addr()
3536 list_add_tail(&pend->list_node, &interrupt->wait_list_head); in _hl_interrupt_wait_ioctl_user_addr()
3551 pend->fence.timestamp = ktime_get(); in _hl_interrupt_wait_ioctl_user_addr()
3561 completion_rc = wait_for_completion_interruptible_timeout(&pend->fence.completion, in _hl_interrupt_wait_ioctl_user_addr()
3574 reinit_completion(&pend->fence.completion); in _hl_interrupt_wait_ioctl_user_addr()
3586 } else if (pend->fence.error) { in _hl_interrupt_wait_ioctl_user_addr()
3589 pend->fence.error); in _hl_interrupt_wait_ioctl_user_addr()
3613 list_del(&pend->list_node); in _hl_interrupt_wait_ioctl_user_addr()
3616 *timestamp = ktime_to_ns(pend->fence.timestamp); in _hl_interrupt_wait_ioctl_user_addr()
3618 kfree(pend); in _hl_interrupt_wait_ioctl_user_addr()