Lines Matching refs:gdev
96 int vbg_req_perform(struct vbg_dev *gdev, void *req) in vbg_req_perform() argument
100 outl(phys_req, gdev->io_port + VMMDEV_PORT_OFF_REQUEST); in vbg_req_perform()
110 static bool hgcm_req_done(struct vbg_dev *gdev, in hgcm_req_done() argument
116 spin_lock_irqsave(&gdev->event_spinlock, flags); in hgcm_req_done()
118 spin_unlock_irqrestore(&gdev->event_spinlock, flags); in hgcm_req_done()
123 int vbg_hgcm_connect(struct vbg_dev *gdev, u32 requestor, in vbg_hgcm_connect() argument
139 rc = vbg_req_perform(gdev, hgcm_connect); in vbg_hgcm_connect()
142 wait_event(gdev->hgcm_wq, in vbg_hgcm_connect()
143 hgcm_req_done(gdev, &hgcm_connect->header)); in vbg_hgcm_connect()
157 int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 requestor, in vbg_hgcm_disconnect() argument
172 rc = vbg_req_perform(gdev, hgcm_disconnect); in vbg_hgcm_disconnect()
175 wait_event(gdev->hgcm_wq, in vbg_hgcm_disconnect()
176 hgcm_req_done(gdev, &hgcm_disconnect->header)); in vbg_hgcm_disconnect()
430 static int hgcm_cancel_call(struct vbg_dev *gdev, struct vmmdev_hgcm_call *call) in hgcm_cancel_call() argument
439 mutex_lock(&gdev->cancel_req_mutex); in hgcm_cancel_call()
440 gdev->cancel_req->phys_req_to_cancel = virt_to_phys(call); in hgcm_cancel_call()
441 rc = vbg_req_perform(gdev, gdev->cancel_req); in hgcm_cancel_call()
442 mutex_unlock(&gdev->cancel_req_mutex); in hgcm_cancel_call()
448 rc = vbg_req_perform(gdev, call); in hgcm_cancel_call()
468 static int vbg_hgcm_do_call(struct vbg_dev *gdev, struct vmmdev_hgcm_call *call, in vbg_hgcm_do_call() argument
476 rc = vbg_req_perform(gdev, call); in vbg_hgcm_do_call()
497 gdev->hgcm_wq, in vbg_hgcm_do_call()
498 hgcm_req_done(gdev, &call->header), in vbg_hgcm_do_call()
511 cancel_rc = hgcm_cancel_call(gdev, call); in vbg_hgcm_do_call()
524 timeout = wait_event_timeout(gdev->hgcm_wq, in vbg_hgcm_do_call()
525 hgcm_req_done(gdev, &call->header), in vbg_hgcm_do_call()
600 int vbg_hgcm_call(struct vbg_dev *gdev, u32 requestor, u32 client_id, in vbg_hgcm_call() argument
632 ret = vbg_hgcm_do_call(gdev, call, timeout_ms, &leak_it); in vbg_hgcm_call()
655 struct vbg_dev *gdev, u32 requestor, u32 client_id, u32 function, in vbg_hgcm_call32() argument
697 ret = vbg_hgcm_call(gdev, requestor, client_id, function, timeout_ms, in vbg_hgcm_call32()