Home
last modified time | relevance | path

Searched refs:ibqp (Results 1 - 25 of 236) sorted by relevance

12345678910

/kernel/linux/linux-5.10/drivers/infiniband/hw/mlx5/
H A Dwr.h44 int mlx5_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
46 int mlx5_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
49 static inline int mlx5_ib_post_send_nodrain(struct ib_qp *ibqp, in mlx5_ib_post_send_nodrain() argument
53 return mlx5_ib_post_send(ibqp, wr, bad_wr, false); in mlx5_ib_post_send_nodrain()
56 static inline int mlx5_ib_post_send_drain(struct ib_qp *ibqp, in mlx5_ib_post_send_drain() argument
60 return mlx5_ib_post_send(ibqp, wr, bad_wr, true); in mlx5_ib_post_send_drain()
63 static inline int mlx5_ib_post_recv_nodrain(struct ib_qp *ibqp, in mlx5_ib_post_recv_nodrain() argument
67 return mlx5_ib_post_recv(ibqp, wr, bad_wr, false); in mlx5_ib_post_recv_nodrain()
70 static inline int mlx5_ib_post_recv_drain(struct ib_qp *ibqp, in mlx5_ib_post_recv_drain() argument
74 return mlx5_ib_post_recv(ibqp, w in mlx5_ib_post_recv_drain()
[all...]
/kernel/linux/linux-5.10/drivers/infiniband/hw/hfi1/
H A Dqp.c205 struct ib_qp *ibqp = &qp->ibqp; in hfi1_check_modify_qp() local
206 struct hfi1_ibdev *dev = to_idev(ibqp->device); in hfi1_check_modify_qp()
211 sc = ah_to_sc(ibqp->device, &attr->ah_attr); in hfi1_check_modify_qp()
224 sc = ah_to_sc(ibqp->device, &attr->alt_ah_attr); in hfi1_check_modify_qp()
251 hfi1_update_ah_attr(qp->ibqp.device, &qp->remote_ah_attr); in qp_set_16b()
259 ibp = to_iport(qp->ibqp.device, qp->port_num); in qp_set_16b()
267 struct ib_qp *ibqp = &qp->ibqp; in hfi1_modify_qp() local
271 priv->s_sc = ah_to_sc(ibqp in hfi1_modify_qp()
[all...]
H A Dud.c75 struct hfi1_ibport *ibp = to_iport(sqp->ibqp.device, sqp->port_num); in ud_loopback()
89 qp = rvt_lookup_qpn(ib_to_rvt(sqp->ibqp.device), &ibp->rvp, in ud_loopback()
97 sqptype = sqp->ibqp.qp_type == IB_QPT_GSI ? in ud_loopback()
98 IB_QPT_UD : sqp->ibqp.qp_type; in ud_loopback()
99 dqptype = qp->ibqp.qp_type == IB_QPT_GSI ? in ud_loopback()
100 IB_QPT_UD : qp->ibqp.qp_type; in ud_loopback()
111 if (qp->ibqp.qp_num > 1) { in ud_loopback()
124 sqp->ibqp.qp_num, qp->ibqp.qp_num, in ud_loopback()
135 if (qp->ibqp in ud_loopback()
[all...]
H A Dtrace_tid.h198 DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
207 DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
208 __entry->qpn = qp->ibqp.qp_num;
258 DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
265 DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
266 __entry->qpn = qp->ibqp.qp_num;
305 DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
317 DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
318 __entry->qpn = qp->ibqp.qp_num;
360 __entry->qpn = qp ? qp->ibqp
[all...]
/kernel/linux/linux-6.6/drivers/infiniband/hw/hfi1/
H A Dqp.c163 struct ib_qp *ibqp = &qp->ibqp; in hfi1_check_modify_qp() local
164 struct hfi1_ibdev *dev = to_idev(ibqp->device); in hfi1_check_modify_qp()
169 sc = ah_to_sc(ibqp->device, &attr->ah_attr); in hfi1_check_modify_qp()
182 sc = ah_to_sc(ibqp->device, &attr->alt_ah_attr); in hfi1_check_modify_qp()
209 hfi1_update_ah_attr(qp->ibqp.device, &qp->remote_ah_attr); in qp_set_16b()
217 ibp = to_iport(qp->ibqp.device, qp->port_num); in qp_set_16b()
225 struct ib_qp *ibqp = &qp->ibqp; in hfi1_modify_qp() local
229 priv->s_sc = ah_to_sc(ibqp in hfi1_modify_qp()
[all...]
H A Dud.c33 struct hfi1_ibport *ibp = to_iport(sqp->ibqp.device, sqp->port_num); in ud_loopback()
47 qp = rvt_lookup_qpn(ib_to_rvt(sqp->ibqp.device), &ibp->rvp, in ud_loopback()
55 sqptype = sqp->ibqp.qp_type == IB_QPT_GSI ? in ud_loopback()
56 IB_QPT_UD : sqp->ibqp.qp_type; in ud_loopback()
57 dqptype = qp->ibqp.qp_type == IB_QPT_GSI ? in ud_loopback()
58 IB_QPT_UD : qp->ibqp.qp_type; in ud_loopback()
69 if (qp->ibqp.qp_num > 1) { in ud_loopback()
82 sqp->ibqp.qp_num, qp->ibqp.qp_num, in ud_loopback()
93 if (qp->ibqp in ud_loopback()
[all...]
H A Dtrace_tid.h198 DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
207 DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
208 __entry->qpn = qp->ibqp.qp_num;
258 DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
265 DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
266 __entry->qpn = qp->ibqp.qp_num;
305 DD_DEV_ENTRY(dd_from_ibdev(qp->ibqp.device))
317 DD_DEV_ASSIGN(dd_from_ibdev(qp->ibqp.device));
318 __entry->qpn = qp->ibqp.qp_num;
360 __entry->qpn = qp ? qp->ibqp
[all...]
/kernel/linux/linux-6.6/drivers/infiniband/hw/mlx5/
H A Dwr.h104 int mlx5_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
106 int mlx5_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
109 static inline int mlx5_ib_post_send_nodrain(struct ib_qp *ibqp, in mlx5_ib_post_send_nodrain() argument
113 return mlx5_ib_post_send(ibqp, wr, bad_wr, false); in mlx5_ib_post_send_nodrain()
116 static inline int mlx5_ib_post_send_drain(struct ib_qp *ibqp, in mlx5_ib_post_send_drain() argument
120 return mlx5_ib_post_send(ibqp, wr, bad_wr, true); in mlx5_ib_post_send_drain()
123 static inline int mlx5_ib_post_recv_nodrain(struct ib_qp *ibqp, in mlx5_ib_post_recv_nodrain() argument
127 return mlx5_ib_post_recv(ibqp, wr, bad_wr, false); in mlx5_ib_post_recv_nodrain()
130 static inline int mlx5_ib_post_recv_drain(struct ib_qp *ibqp, in mlx5_ib_post_recv_drain() argument
134 return mlx5_ib_post_recv(ibqp, w in mlx5_ib_post_recv_drain()
[all...]
/kernel/linux/linux-6.6/drivers/infiniband/hw/mana/
H A Dqp.c95 static int mana_ib_create_qp_rss(struct ib_qp *ibqp, struct ib_pd *pd, in mana_ib_create_qp_rss() argument
99 struct mana_ib_qp *qp = container_of(ibqp, struct mana_ib_qp, ibqp); in mana_ib_create_qp_rss()
256 static int mana_ib_create_qp_raw(struct ib_qp *ibqp, struct ib_pd *ibpd, in mana_ib_create_qp_raw() argument
261 struct mana_ib_qp *qp = container_of(ibqp, struct mana_ib_qp, ibqp); in mana_ib_create_qp_raw()
407 int mana_ib_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *attr, in mana_ib_create_qp() argument
414 return mana_ib_create_qp_rss(ibqp, ibqp->pd, attr, in mana_ib_create_qp()
417 return mana_ib_create_qp_raw(ibqp, ibq in mana_ib_create_qp()
427 mana_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) mana_ib_modify_qp() argument
491 mana_ib_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) mana_ib_destroy_qp() argument
[all...]
/kernel/linux/linux-6.6/drivers/infiniband/sw/rdmavt/
H A Dqp.h13 int rvt_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr,
15 int rvt_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
17 int rvt_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata);
18 int rvt_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
20 int rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
22 int rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
H A Dqp.c426 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_free_qp_cb()
429 rvt_reset_qp(rdi, qp, qp->ibqp.qp_type); in rvt_free_qp_cb()
582 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_clear_mr_refs()
666 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_qp_acks_has_lkey()
692 if (qp->ibqp.qp_type == IB_QPT_SMI || in rvt_qp_mr_clean()
693 qp->ibqp.qp_type == IB_QPT_GSI) in rvt_qp_mr_clean()
714 ev.device = qp->ibqp.device; in rvt_qp_mr_clean()
715 ev.element.qp = &qp->ibqp; in rvt_qp_mr_clean()
717 qp->ibqp.event_handler(&ev, qp->ibqp in rvt_qp_mr_clean()
1029 rvt_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr, struct ib_udata *udata) rvt_create_qp() argument
1402 rvt_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) rvt_modify_qp() argument
1677 rvt_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) rvt_destroy_qp() argument
1718 rvt_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_qp_init_attr *init_attr) rvt_query_qp() argument
1781 rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, const struct ib_recv_wr **bad_wr) rvt_post_recv() argument
2143 rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, const struct ib_send_wr **bad_wr) rvt_post_send() argument
2509 struct ib_qp *ibqp = &qp->ibqp; rvt_add_retry_timer_ext() local
[all...]
H A Dtrace_qp.h21 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
26 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device));
27 __entry->qpn = qp->ibqp.qp_num;
51 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
58 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device));
59 __entry->qpn = qp->ibqp.qp_num;
H A Dtrace_tx.h52 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
72 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device));
75 __entry->qpn = qp->ibqp.qp_num;
76 __entry->qpt = qp->ibqp.qp_type;
119 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
131 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device));
134 __entry->qpn = qp->ibqp.qp_num;
135 __entry->qpt = qp->ibqp.qp_type;
/kernel/linux/linux-5.10/drivers/infiniband/hw/qib/
H A Dqib_ud.c53 struct qib_ibport *ibp = to_iport(sqp->ibqp.device, sqp->port_num); in qib_ud_loopback()
73 sqptype = sqp->ibqp.qp_type == IB_QPT_GSI ? in qib_ud_loopback()
74 IB_QPT_UD : sqp->ibqp.qp_type; in qib_ud_loopback()
75 dqptype = qp->ibqp.qp_type == IB_QPT_GSI ? in qib_ud_loopback()
76 IB_QPT_UD : qp->ibqp.qp_type; in qib_ud_loopback()
87 if (qp->ibqp.qp_num > 1) { in qib_ud_loopback()
99 sqp->ibqp.qp_num, qp->ibqp.qp_num, in qib_ud_loopback()
111 if (qp->ibqp.qp_num) { in qib_ud_loopback()
149 if (qp->ibqp in qib_ud_loopback()
[all...]
H A Dqib_ruc.c53 ev.device = qp->ibqp.device; in qib_migrate_qp()
54 ev.element.qp = &qp->ibqp; in qib_migrate_qp()
56 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in qib_migrate_qp()
114 0, qp->ibqp.qp_num, in qib_ruc_check_hdr()
153 0, qp->ibqp.qp_num, in qib_ruc_check_hdr()
210 struct qib_ibport *ibp = to_iport(qp->ibqp.device, qp->port_num); in qib_make_ruc_header()
266 struct qib_ibport *ibp = to_iport(qp->ibqp.device, qp->port_num); in qib_do_send()
271 if ((qp->ibqp.qp_type == IB_QPT_RC || in qib_do_send()
272 qp->ibqp in qib_do_send()
[all...]
/kernel/linux/linux-6.6/drivers/infiniband/hw/qib/
H A Dqib_ud.c53 struct qib_ibport *ibp = to_iport(sqp->ibqp.device, sqp->port_num); in qib_ud_loopback()
73 sqptype = sqp->ibqp.qp_type == IB_QPT_GSI ? in qib_ud_loopback()
74 IB_QPT_UD : sqp->ibqp.qp_type; in qib_ud_loopback()
75 dqptype = qp->ibqp.qp_type == IB_QPT_GSI ? in qib_ud_loopback()
76 IB_QPT_UD : qp->ibqp.qp_type; in qib_ud_loopback()
87 if (qp->ibqp.qp_num > 1) { in qib_ud_loopback()
99 sqp->ibqp.qp_num, qp->ibqp.qp_num, in qib_ud_loopback()
111 if (qp->ibqp.qp_num) { in qib_ud_loopback()
149 if (qp->ibqp in qib_ud_loopback()
[all...]
H A Dqib_ruc.c53 ev.device = qp->ibqp.device; in qib_migrate_qp()
54 ev.element.qp = &qp->ibqp; in qib_migrate_qp()
56 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in qib_migrate_qp()
114 0, qp->ibqp.qp_num, in qib_ruc_check_hdr()
153 0, qp->ibqp.qp_num, in qib_ruc_check_hdr()
210 struct qib_ibport *ibp = to_iport(qp->ibqp.device, qp->port_num); in qib_make_ruc_header()
266 struct qib_ibport *ibp = to_iport(qp->ibqp.device, qp->port_num); in qib_do_send()
271 if ((qp->ibqp.qp_type == IB_QPT_RC || in qib_do_send()
272 qp->ibqp in qib_do_send()
[all...]
/kernel/linux/linux-5.10/drivers/infiniband/sw/rdmavt/
H A Dqp.c467 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_free_qp_cb()
470 rvt_reset_qp(rdi, qp, qp->ibqp.qp_type); in rvt_free_qp_cb()
622 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_clear_mr_refs()
706 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_qp_acks_has_lkey()
732 if (qp->ibqp.qp_type == IB_QPT_SMI || in rvt_qp_mr_clean()
733 qp->ibqp.qp_type == IB_QPT_GSI) in rvt_qp_mr_clean()
754 ev.device = qp->ibqp.device; in rvt_qp_mr_clean()
755 ev.element.qp = &qp->ibqp; in rvt_qp_mr_clean()
757 qp->ibqp.event_handler(&ev, qp->ibqp in rvt_qp_mr_clean()
1458 rvt_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) rvt_modify_qp() argument
1729 rvt_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) rvt_destroy_qp() argument
1770 rvt_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_qp_init_attr *init_attr) rvt_query_qp() argument
1833 rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, const struct ib_recv_wr **bad_wr) rvt_post_recv() argument
2194 rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, const struct ib_send_wr **bad_wr) rvt_post_send() argument
2560 struct ib_qp *ibqp = &qp->ibqp; rvt_add_retry_timer_ext() local
[all...]
H A Dqp.h58 int rvt_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
60 int rvt_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata);
61 int rvt_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
63 int rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
65 int rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
H A Dtrace_qp.h63 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
68 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device))
69 __entry->qpn = qp->ibqp.qp_num;
93 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
100 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device))
101 __entry->qpn = qp->ibqp.qp_num;
H A Dtrace_tx.h94 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
114 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device))
117 __entry->qpn = qp->ibqp.qp_num;
118 __entry->qpt = qp->ibqp.qp_type;
161 RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
173 RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device))
176 __entry->qpn = qp->ibqp.qp_num;
177 __entry->qpt = qp->ibqp.qp_type;
/kernel/linux/linux-6.6/drivers/infiniband/hw/vmw_pvrdma/
H A Dpvrdma_qp.c61 *send_cq = to_vcq(qp->ibqp.send_cq); in get_cqs()
62 *recv_cq = to_vcq(qp->ibqp.recv_cq); in get_cqs()
185 * @ibqp: queue pair
191 int pvrdma_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr, in pvrdma_create_qp() argument
194 struct pvrdma_qp *qp = to_vqp(ibqp); in pvrdma_create_qp()
195 struct pvrdma_dev *dev = to_vdev(ibqp->device); in pvrdma_create_qp()
234 init_attr->port_num > ibqp->device->phys_port_cnt) { in pvrdma_create_qp()
271 qp->rumem = ib_umem_get(ibqp->device, in pvrdma_create_qp()
284 qp->sumem = ib_umem_get(ibqp->device, ucmd.sbuf_addr, in pvrdma_create_qp()
302 ret = pvrdma_set_sq_size(to_vdev(ibqp in pvrdma_create_qp()
525 pvrdma_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) pvrdma_modify_qp() argument
671 pvrdma_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, const struct ib_send_wr **bad_wr) pvrdma_post_send() argument
873 pvrdma_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, const struct ib_recv_wr **bad_wr) pvrdma_post_recv() argument
966 pvrdma_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_qp_init_attr *init_attr) pvrdma_query_qp() argument
[all...]
/kernel/linux/linux-6.6/drivers/infiniband/hw/erdma/
H A Derdma_verbs.h218 struct ib_qp ibqp; member
271 #define QP_ID(qp) ((qp)->ibqp.qp_num)
307 return container_of(qp, struct erdma_qp, ibqp); in to_eqp()
335 int erdma_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *attr,
337 int erdma_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int mask,
339 int erdma_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int mask,
341 int erdma_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata);
350 void erdma_qp_get_ref(struct ib_qp *ibqp);
351 void erdma_qp_put_ref(struct ib_qp *ibqp);
353 int erdma_post_send(struct ib_qp *ibqp, cons
[all...]
/kernel/linux/linux-5.10/drivers/infiniband/hw/vmw_pvrdma/
H A Dpvrdma_qp.c61 *send_cq = to_vcq(qp->ibqp.send_cq); in get_cqs()
62 *recv_cq = to_vcq(qp->ibqp.recv_cq); in get_cqs()
401 qp->ibqp.qp_num = resp_v2->qpn; in pvrdma_create_qp()
404 qp->ibqp.qp_num = resp->qpn; in pvrdma_create_qp()
413 qp_resp.qpn = qp->ibqp.qp_num; in pvrdma_create_qp()
425 return &qp->ibqp; in pvrdma_create_qp()
442 struct pvrdma_dev *dev = to_vdev(qp->ibqp.device); in _pvrdma_free_qp()
529 * @ibqp: the queue pair
536 int pvrdma_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, in pvrdma_modify_qp() argument
539 struct pvrdma_dev *dev = to_vdev(ibqp in pvrdma_modify_qp()
679 pvrdma_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, const struct ib_send_wr **bad_wr) pvrdma_post_send() argument
889 pvrdma_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, const struct ib_recv_wr **bad_wr) pvrdma_post_recv() argument
982 pvrdma_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_qp_init_attr *init_attr) pvrdma_query_qp() argument
[all...]
/kernel/linux/linux-5.10/drivers/infiniband/hw/usnic/
H A Dusnic_ib_qp_grp.h49 struct ib_qp ibqp; member
105 struct usnic_ib_qp_grp *to_uqp_grp(struct ib_qp *ibqp) in to_uqp_grp() argument
107 return container_of(ibqp, struct usnic_ib_qp_grp, ibqp); in to_uqp_grp()

Completed in 17 milliseconds

12345678910