Lines Matching refs:active
71 } active; member
136 struct pvcalls_data_intf *intf = map->active.ring; in pvcalls_front_write_todo()
153 struct pvcalls_data_intf *intf = map->active.ring; in pvcalls_front_read_todo()
235 unbind_from_irqhandler(map->active.irq, map); in pvcalls_front_free_map()
243 gnttab_end_foreign_access(map->active.ring->ref[i], NULL); in pvcalls_front_free_map()
244 gnttab_end_foreign_access(map->active.ref, NULL); in pvcalls_front_free_map()
257 wake_up_interruptible(&map->active.inflight_conn_req); in pvcalls_front_conn_handler()
339 if (!map->active.ring) in free_active_ring()
342 free_pages_exact(map->active.data.in, in free_active_ring()
343 PAGE_SIZE << map->active.ring->ring_order); in free_active_ring()
344 free_page((unsigned long)map->active.ring); in free_active_ring()
351 map->active.ring = (struct pvcalls_data_intf *) in alloc_active_ring()
353 if (!map->active.ring) in alloc_active_ring()
356 map->active.ring->ring_order = PVCALLS_RING_ORDER; in alloc_active_ring()
362 map->active.data.in = bytes; in alloc_active_ring()
363 map->active.data.out = bytes + in alloc_active_ring()
379 init_waitqueue_head(&map->active.inflight_conn_req); in create_active()
381 bytes = map->active.data.in; in create_active()
383 map->active.ring->ref[i] = gnttab_grant_foreign_access( in create_active()
387 map->active.ref = gnttab_grant_foreign_access( in create_active()
389 pfn_to_gfn(virt_to_pfn((void *)map->active.ring)), 0); in create_active()
401 map->active.irq = irq; in create_active()
403 mutex_init(&map->active.in_mutex); in create_active()
404 mutex_init(&map->active.out_mutex); in create_active()
459 req->u.connect.ref = map->active.ref; in pvcalls_front_connect()
549 mutex_lock(&map->active.out_mutex); in pvcalls_front_sendmsg()
551 mutex_unlock(&map->active.out_mutex); in pvcalls_front_sendmsg()
560 sent = __write_ring(map->active.ring, in pvcalls_front_sendmsg()
561 &map->active.data, &msg->msg_iter, in pvcalls_front_sendmsg()
566 notify_remote_via_irq(map->active.irq); in pvcalls_front_sendmsg()
573 mutex_unlock(&map->active.out_mutex); in pvcalls_front_sendmsg()
640 mutex_lock(&map->active.in_mutex); in pvcalls_front_recvmsg()
645 wait_event_interruptible(map->active.inflight_conn_req, in pvcalls_front_recvmsg()
648 ret = __read_ring(map->active.ring, &map->active.data, in pvcalls_front_recvmsg()
652 notify_remote_via_irq(map->active.irq); in pvcalls_front_recvmsg()
658 mutex_unlock(&map->active.in_mutex); in pvcalls_front_recvmsg()
852 req->u.accept.ref = map2->active.ref; in pvcalls_front_accept()
966 struct pvcalls_data_intf *intf = map->active.ring; in pvcalls_front_poll_active()
971 poll_wait(file, &map->active.inflight_conn_req, wait); in pvcalls_front_poll_active()
1049 map->active.ring->in_error = -EBADF; in pvcalls_front_release()
1050 wake_up_interruptible(&map->active.inflight_conn_req); in pvcalls_front_release()
1104 map->active.ring->in_error = -EBADF; in pvcalls_front_remove()
1105 wake_up_interruptible(&map->active.inflight_conn_req); in pvcalls_front_remove()