Lines Matching refs:qp
221 struct qp_entry qp; member
239 struct qp_entry qp; member
914 struct qp_entry *qp = qp_list_find(&qp_guest_endpoints, handle); in qp_guest_handle_to_entry() local
916 entry = qp ? container_of( in qp_guest_handle_to_entry()
917 qp, struct qp_guest_endpoint, qp) : NULL; in qp_guest_handle_to_entry()
928 struct qp_entry *qp = qp_list_find(&qp_broker_list, handle); in qp_broker_handle_to_entry() local
930 entry = qp ? container_of( in qp_broker_handle_to_entry()
931 qp, struct qp_broker_entry, qp) : NULL; in qp_broker_handle_to_entry()
986 entry->qp.peer = peer; in qp_guest_endpoint_create()
987 entry->qp.flags = flags; in qp_guest_endpoint_create()
988 entry->qp.produce_size = produce_size; in qp_guest_endpoint_create()
989 entry->qp.consume_size = consume_size; in qp_guest_endpoint_create()
990 entry->qp.ref_count = 0; in qp_guest_endpoint_create()
994 INIT_LIST_HEAD(&entry->qp.list_item); in qp_guest_endpoint_create()
1000 entry->qp.handle = vmci_resource_handle(&entry->resource); in qp_guest_endpoint_create()
1002 qp_list_find(&qp_guest_endpoints, entry->qp.handle)) { in qp_guest_endpoint_create()
1019 qp_free_queue(entry->produce_q, entry->qp.produce_size); in qp_guest_endpoint_destroy()
1020 qp_free_queue(entry->consume_q, entry->qp.consume_size); in qp_guest_endpoint_destroy()
1050 alloc_msg->handle = entry->qp.handle; in qp_alloc_hypercall()
1051 alloc_msg->peer = entry->qp.peer; in qp_alloc_hypercall()
1052 alloc_msg->flags = entry->qp.flags; in qp_alloc_hypercall()
1053 alloc_msg->produce_size = entry->qp.produce_size; in qp_alloc_hypercall()
1054 alloc_msg->consume_size = entry->qp.consume_size; in qp_alloc_hypercall()
1121 if (entry->qp.flags & VMCI_QPFLAG_LOCAL) { in qp_detatch_guest_work()
1124 if (entry->qp.ref_count > 1) { in qp_detatch_guest_work()
1156 entry->qp.ref_count--; in qp_detatch_guest_work()
1157 if (entry->qp.ref_count == 0) in qp_detatch_guest_work()
1158 qp_list_remove_entry(&qp_guest_endpoints, &entry->qp); in qp_detatch_guest_work()
1162 ref_count = entry->qp.ref_count; in qp_detatch_guest_work()
1202 if (queue_pair_entry->qp.flags & VMCI_QPFLAG_LOCAL) { in qp_alloc_guest_work()
1204 if (queue_pair_entry->qp.ref_count > 1) { in qp_alloc_guest_work()
1210 if (queue_pair_entry->qp.produce_size != consume_size || in qp_alloc_guest_work()
1211 queue_pair_entry->qp.consume_size != in qp_alloc_guest_work()
1213 queue_pair_entry->qp.flags != in qp_alloc_guest_work()
1273 if (queue_pair_entry->qp.flags & VMCI_QPFLAG_LOCAL) { in qp_alloc_guest_work()
1286 if (queue_pair_entry->qp.handle.context != context_id || in qp_alloc_guest_work()
1287 (queue_pair_entry->qp.peer != VMCI_INVALID_ID && in qp_alloc_guest_work()
1288 queue_pair_entry->qp.peer != context_id)) { in qp_alloc_guest_work()
1293 if (queue_pair_entry->qp.flags & VMCI_QPFLAG_ATTACH_ONLY) { in qp_alloc_guest_work()
1308 qp_list_add_entry(&qp_guest_endpoints, &queue_pair_entry->qp); in qp_alloc_guest_work()
1311 queue_pair_entry->qp.ref_count++; in qp_alloc_guest_work()
1312 *handle = queue_pair_entry->qp.handle; in qp_alloc_guest_work()
1321 if ((queue_pair_entry->qp.flags & VMCI_QPFLAG_LOCAL) && in qp_alloc_guest_work()
1322 queue_pair_entry->qp.ref_count == 1) { in qp_alloc_guest_work()
1425 entry->qp.handle = handle; in qp_broker_create()
1426 entry->qp.peer = peer; in qp_broker_create()
1427 entry->qp.flags = flags; in qp_broker_create()
1428 entry->qp.produce_size = guest_produce_size; in qp_broker_create()
1429 entry->qp.consume_size = guest_consume_size; in qp_broker_create()
1430 entry->qp.ref_count = 1; in qp_broker_create()
1454 INIT_LIST_HEAD(&entry->qp.list_item); in qp_broker_create()
1459 entry->local_mem = kcalloc(QPE_NUM_PAGES(entry->qp), in qp_broker_create()
1468 (DIV_ROUND_UP(entry->qp.produce_size, PAGE_SIZE) + 1); in qp_broker_create()
1493 qp_list_add_entry(&qp_broker_list, &entry->qp); in qp_broker_create()
1507 entry->qp.handle = vmci_resource_handle(&entry->resource); in qp_broker_create()
1510 entry->qp.handle); in qp_broker_create()
1512 entry->qp.handle); in qp_broker_create()
1515 vmci_ctx_qp_create(context, entry->qp.handle); in qp_broker_create()
1615 if (!(entry->qp.flags & VMCI_QPFLAG_LOCAL) || in qp_broker_attach()
1648 if (entry->qp.peer != VMCI_INVALID_ID && entry->qp.peer != context_id) in qp_broker_attach()
1677 if ((entry->qp.flags & ~VMCI_QP_ASYMM) != (flags & ~VMCI_QP_ASYMM_PEER)) in qp_broker_attach()
1687 if (entry->qp.produce_size != produce_size || in qp_broker_attach()
1688 entry->qp.consume_size != consume_size) { in qp_broker_attach()
1691 } else if (entry->qp.produce_size != consume_size || in qp_broker_attach()
1692 entry->qp.consume_size != produce_size) { in qp_broker_attach()
1747 qp_notify_peer(true, entry->qp.handle, context_id, in qp_broker_attach()
1751 entry->create_id, entry->qp.handle.context, in qp_broker_attach()
1752 entry->qp.handle.resource); in qp_broker_attach()
1756 entry->qp.ref_count++; in qp_broker_attach()
1767 vmci_ctx_qp_create(context, entry->qp.handle); in qp_broker_attach()
2122 entry->create_id, entry->qp.handle.context, in vmci_qp_broker_set_page_store()
2123 entry->qp.handle.resource); in vmci_qp_broker_set_page_store()
2204 entry->qp.ref_count--; in vmci_qp_broker_detach()
2206 is_local = entry->qp.flags & VMCI_QPFLAG_LOCAL; in vmci_qp_broker_detach()
2258 if (entry->qp.ref_count == 0) { in vmci_qp_broker_detach()
2259 qp_list_remove_entry(&qp_broker_list, &entry->qp); in vmci_qp_broker_detach()
2265 qp_host_free_queue(entry->produce_q, entry->qp.produce_size); in vmci_qp_broker_detach()
2266 qp_host_free_queue(entry->consume_q, entry->qp.consume_size); in vmci_qp_broker_detach()
2333 is_local = entry->qp.flags & VMCI_QPFLAG_LOCAL; in vmci_qp_broker_map()
2340 page_store.len = QPE_NUM_PAGES(entry->qp); in vmci_qp_broker_map()
2444 is_local = entry->qp.flags & VMCI_QPFLAG_LOCAL; in vmci_qp_broker_unmap()