Lines Matching refs:ureq

107 			struct qcomtee_ureq *ureq)  in ureq_enqueue()  argument
117 ret = idr_alloc(&ctxdata->reqs_idr, ureq, 0, 0, GFP_KERNEL); in ureq_enqueue()
121 ureq->req_id = ret; in ureq_enqueue()
122 ureq->state = QCOMTEE_REQ_QUEUED; in ureq_enqueue()
123 list_add_tail(&ureq->node, &ctxdata->reqs_list); in ureq_enqueue()
141 struct qcomtee_ureq *ureq; in ureq_dequeue() local
143 ureq = idr_remove(&ctxdata->reqs_idr, req_id); in ureq_dequeue()
144 if (ureq == &empty_ureq || !ureq) in ureq_dequeue()
147 list_del(&ureq->node); in ureq_dequeue()
149 return ureq; in ureq_dequeue()
168 struct qcomtee_ureq *req, *ureq = NULL; in ureq_select() local
175 ureq = req; in ureq_select()
180 if (!ureq) in ureq_select()
183 u = ureq->args; in ureq_select()
196 return ureq; in ureq_select()
202 struct qcomtee_ureq *req, *ureq; in qcomtee_requests_destroy() local
208 list_for_each_entry_safe(ureq, req, &ctxdata->reqs_list, node) { in qcomtee_requests_destroy()
209 ureq_dequeue(ctxdata, ureq->req_id); in qcomtee_requests_destroy()
211 if (ureq->op != QCOMTEE_MSG_OBJECT_OP_RELEASE) { in qcomtee_requests_destroy()
212 ureq->state = QCOMTEE_REQ_PROCESSED; in qcomtee_requests_destroy()
213 ureq->errno = -ENODEV; in qcomtee_requests_destroy()
215 complete(&ureq->c); in qcomtee_requests_destroy()
217 kfree(ureq); in qcomtee_requests_destroy()
233 struct qcomtee_ureq *ureq __free(kfree) = kzalloc(sizeof(*ureq), in qcomtee_user_object_dispatch()
235 if (!ureq) in qcomtee_user_object_dispatch()
238 init_completion(&ureq->c); in qcomtee_user_object_dispatch()
239 ureq->object_id = uo->object_id; in qcomtee_user_object_dispatch()
240 ureq->op = op; in qcomtee_user_object_dispatch()
241 ureq->args = args; in qcomtee_user_object_dispatch()
244 if (ureq_enqueue(ctxdata, ureq)) in qcomtee_user_object_dispatch()
258 if (!wait_for_completion_state(&ureq->c, in qcomtee_user_object_dispatch()
260 errno = ureq->errno; in qcomtee_user_object_dispatch()
262 oic->data = no_free_ptr(ureq); in qcomtee_user_object_dispatch()
269 prev_state = ureq->state; in qcomtee_user_object_dispatch()
272 list_del(&ureq->node); in qcomtee_user_object_dispatch()
274 &empty_ureq, ureq->req_id); in qcomtee_user_object_dispatch()
278 ureq_dequeue(ctxdata, ureq->req_id); in qcomtee_user_object_dispatch()
284 errno = ureq->errno; in qcomtee_user_object_dispatch()
286 oic->data = no_free_ptr(ureq); in qcomtee_user_object_dispatch()
298 struct qcomtee_ureq *ureq = oic->data; in qcomtee_user_object_notify() local
299 struct qcomtee_arg *u = ureq->args; in qcomtee_user_object_notify()
314 kfree(ureq); in qcomtee_user_object_notify()
321 struct qcomtee_ureq *ureq; in qcomtee_user_object_release() local
329 ureq = kzalloc_obj(*ureq); in qcomtee_user_object_release()
330 if (!ureq) in qcomtee_user_object_release()
334 ureq->object_id = uo->object_id; in qcomtee_user_object_release()
335 ureq->op = QCOMTEE_MSG_OBJECT_OP_RELEASE; in qcomtee_user_object_release()
336 ureq->args = args; in qcomtee_user_object_release()
337 if (ureq_enqueue(ctxdata, ureq)) { in qcomtee_user_object_release()
338 kfree(ureq); in qcomtee_user_object_release()
591 struct qcomtee_ureq *ureq; in qcomtee_user_object_select() local
603 ureq = ureq_select(ctxdata, size, num_params); in qcomtee_user_object_select()
604 if (!ureq) in qcomtee_user_object_select()
607 if (IS_ERR(ureq)) in qcomtee_user_object_select()
608 return PTR_ERR(ureq); in qcomtee_user_object_select()
611 ureq->state = QCOMTEE_REQ_PROCESSING; in qcomtee_user_object_select()
613 data->id = ureq->req_id; in qcomtee_user_object_select()
614 data->object_id = ureq->object_id; in qcomtee_user_object_select()
615 data->op = ureq->op; in qcomtee_user_object_select()
616 ret = qcomtee_cb_params_from_args(params, ureq->args, in qcomtee_user_object_select()
625 ureq->state = QCOMTEE_REQ_PROCESSED; in qcomtee_user_object_select()
626 ureq->errno = ret; in qcomtee_user_object_select()
628 complete(&ureq->c); in qcomtee_user_object_select()
643 kfree(ureq); in qcomtee_user_object_select()
666 struct qcomtee_ureq *ureq; in qcomtee_user_object_submit() local
671 ureq = ureq_dequeue(ctxdata, req_id); in qcomtee_user_object_submit()
672 if (!ureq) in qcomtee_user_object_submit()
675 ureq->state = QCOMTEE_REQ_PROCESSED; in qcomtee_user_object_submit()
678 ureq->errno = qcomtee_cb_params_to_args(ureq->args, params, in qcomtee_user_object_submit()
681 ureq->errno = errno; in qcomtee_user_object_submit()
683 if (!errno && ureq->errno) in qcomtee_user_object_submit()
684 errno = ureq->errno; in qcomtee_user_object_submit()
689 complete(&ureq->c); in qcomtee_user_object_submit()