Lines Matching refs:call
330 static void hgcm_call_init_linaddr(struct vmmdev_hgcm_call *call, in hgcm_call_init_linaddr() argument
347 dst_pg_lst = (void *)call + *off_extra; in hgcm_call_init_linaddr()
381 struct vmmdev_hgcm_call *call, u32 client_id, u32 function, in hgcm_call_init_call() argument
386 VMMDEV_HGCM_CALL_PARMS(call); in hgcm_call_init_call()
387 u32 i, off_extra = (uintptr_t)(dst_parm + parm_count) - (uintptr_t)call; in hgcm_call_init_call()
390 call->header.flags = 0; in hgcm_call_init_call()
391 call->header.result = VINF_SUCCESS; in hgcm_call_init_call()
392 call->client_id = client_id; in hgcm_call_init_call()
393 call->function = function; in hgcm_call_init_call()
394 call->parm_count = parm_count; in hgcm_call_init_call()
406 hgcm_call_init_linaddr(call, dst_parm, bounce_bufs[i], in hgcm_call_init_call()
415 hgcm_call_init_linaddr(call, dst_parm, buf, in hgcm_call_init_call()
432 static int hgcm_cancel_call(struct vbg_dev *gdev, struct vmmdev_hgcm_call *call) in hgcm_cancel_call() argument
442 gdev->cancel_req->phys_req_to_cancel = virt_to_phys(call); in hgcm_cancel_call()
447 call->header.flags |= VMMDEV_HGCM_REQ_CANCELLED; in hgcm_cancel_call()
448 call->header.header.request_type = VMMDEVREQ_HGCM_CANCEL; in hgcm_cancel_call()
450 rc = vbg_req_perform(gdev, call); in hgcm_cancel_call()
456 call->header.flags |= VMMDEV_HGCM_REQ_CANCELLED; in hgcm_cancel_call()
470 static int vbg_hgcm_do_call(struct vbg_dev *gdev, struct vmmdev_hgcm_call *call, in vbg_hgcm_do_call() argument
478 rc = vbg_req_perform(gdev, call); in vbg_hgcm_do_call()
485 call->header.result = rc; in vbg_hgcm_do_call()
500 hgcm_req_done(gdev, &call->header), in vbg_hgcm_do_call()
504 hgcm_req_done(gdev, &call->header), in vbg_hgcm_do_call()
518 cancel_rc = hgcm_cancel_call(gdev, call); in vbg_hgcm_do_call()
532 hgcm_req_done(gdev, &call->header), in vbg_hgcm_do_call()
557 const struct vmmdev_hgcm_call *call, in hgcm_call_copy_back_result() argument
562 VMMDEV_HGCM_CALL_PARMS(call); in hgcm_call_copy_back_result()
612 struct vmmdev_hgcm_call *call; in vbg_hgcm_call() local
630 call = vbg_req_alloc(size, VMMDEVREQ_HGCM_CALL, requestor); in vbg_hgcm_call()
631 if (!call) { in vbg_hgcm_call()
636 hgcm_call_init_call(call, client_id, function, parms, parm_count, in vbg_hgcm_call()
639 ret = vbg_hgcm_do_call(gdev, call, timeout_ms, in vbg_hgcm_call()
642 *vbox_status = call->header.result; in vbg_hgcm_call()
643 ret = hgcm_call_copy_back_result(call, parms, parm_count, in vbg_hgcm_call()
648 vbg_req_free(call, size); in vbg_hgcm_call()