/freebsd-11-stable/sys/dev/mthca/ |
H A D | mthca_srq.c | 72 static void *get_wqe(struct mthca_srq *srq, int n) argument 74 if (srq->is_direct) 75 return srq->queue.direct.buf + (n << srq->wqe_shift); 77 return srq->queue.page_list[(n << srq->wqe_shift) >> PAGE_SHIFT].buf + 78 ((n << srq->wqe_shift) & (PAGE_SIZE - 1)); 97 struct mthca_srq *srq, 102 context->wqe_base_ds = cpu_to_be64(1 << (srq->wqe_shift - 4)); 104 context->lkey = cpu_to_be32(srq 95 mthca_tavor_init_srq_context(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct mthca_tavor_srq_context *context) argument 113 mthca_arbel_init_srq_context(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct mthca_arbel_srq_context *context) argument 140 mthca_free_srq_buf(struct mthca_dev *dev, struct mthca_srq *srq) argument 147 mthca_alloc_srq_buf(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq) argument 199 mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd, struct ib_srq_attr *attr, struct mthca_srq *srq) argument 319 get_srq_refcount(struct mthca_dev *dev, struct mthca_srq *srq) argument 330 mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq) argument 368 struct mthca_srq *srq = to_msrq(ibsrq); local 391 struct mthca_srq *srq = to_msrq(ibsrq); local 425 struct mthca_srq *srq; local 457 mthca_free_srq_wqe(struct mthca_srq *srq, u32 wqe_addr) argument 479 struct mthca_srq *srq = to_msrq(ibsrq); local 579 struct mthca_srq *srq = to_msrq(ibsrq); local [all...] |
/freebsd-11-stable/contrib/ofed/libmlx4/ |
H A D | srq.c | 44 static void *get_wqe(struct mlx4_srq *srq, int n) argument 46 return srq->buf.buf + (n << srq->wqe_shift); 49 void mlx4_free_srq_wqe(struct mlx4_srq *srq, int ind) argument 53 pthread_spin_lock(&srq->lock); 55 next = get_wqe(srq, srq->tail); 57 srq->tail = ind; 59 pthread_spin_unlock(&srq->lock); 66 struct mlx4_srq *srq local 125 mlx4_alloc_srq_buf(struct ibv_pd *pd, struct ibv_srq_attr *attr, struct mlx4_srq *srq) argument 196 mlx4_store_xsrq(struct mlx4_xsrq_table *xsrq_table, uint32_t srqn, struct mlx4_srq *srq) argument 240 struct mlx4_srq *srq; local 298 mlx4_destroy_xrc_srq(struct ibv_srq *srq) argument [all...] |
H A D | verbs.c | 646 struct mlx4_srq *srq; local 653 srq = malloc(sizeof *srq); 654 if (!srq) 657 if (pthread_spin_init(&srq->lock, PTHREAD_PROCESS_PRIVATE)) 660 srq->max = align_queue_size(attr->attr.max_wr + 1); 661 srq->max_gs = attr->attr.max_sge; 662 srq->counter = 0; 663 srq->ext_srq = 0; 665 if (mlx4_alloc_srq_buf(pd, &attr->attr, srq)) 710 mlx4_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr, int attr_mask) argument 719 mlx4_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr) argument 727 mlx4_destroy_srq(struct ibv_srq *srq) argument [all...] |
H A D | mlx4.h | 331 return container_of(container_of(ibsrq, struct verbs_srq, srq), 397 void __mlx4_cq_clean(struct mlx4_cq *cq, uint32_t qpn, struct mlx4_srq *srq); 398 void mlx4_cq_clean(struct mlx4_cq *cq, uint32_t qpn, struct mlx4_srq *srq); 408 int mlx4_modify_srq(struct ibv_srq *srq, 411 int mlx4_query_srq(struct ibv_srq *srq, 413 int mlx4_destroy_srq(struct ibv_srq *srq); 414 int mlx4_destroy_xrc_srq(struct ibv_srq *srq); 416 struct mlx4_srq *srq); 420 struct mlx4_srq *srq); 422 void mlx4_free_srq_wqe(struct mlx4_srq *srq, in [all...] |
H A D | cq.c | 241 struct mlx4_srq *srq; local 270 srq = mlx4_find_xsrq(&mctx->xsrq_table, 272 if (!srq) 285 srq = ((*cur_qp)->verbs_qp.qp.srq) ? to_msrq((*cur_qp)->verbs_qp.qp.srq) : NULL; 295 } else if (srq) { 297 *pwr_id = srq->wrid[wqe_index]; 298 mlx4_free_srq_wqe(srq, wqe_index); 714 void __mlx4_cq_clean(struct mlx4_cq *cq, uint32_t qpn, struct mlx4_srq *srq) argument 770 mlx4_cq_clean(struct mlx4_cq *cq, uint32_t qpn, struct mlx4_srq *srq) argument [all...] |
/freebsd-11-stable/sys/dev/mlx4/mlx4_ib/ |
H A D | mlx4_ib_srq.c | 35 #include <dev/mlx4/srq.h> 41 static void *get_wqe(struct mlx4_ib_srq *srq, int n) argument 43 return mlx4_buf_offset(&srq->buf, n << srq->msrq.wqe_shift); 46 static void mlx4_ib_srq_event(struct mlx4_srq *srq, enum mlx4_event type) argument 49 struct ib_srq *ibsrq = &to_mibsrq(srq)->ibsrq; 53 event.element.srq = ibsrq; 63 "on SRQ %06x\n", type, srq->srqn); 76 struct mlx4_ib_srq *srq; local 91 srq 237 struct mlx4_ib_srq *srq = to_msrq(ibsrq); local 262 struct mlx4_ib_srq *srq = to_msrq(ibsrq); local 277 mlx4_ib_destroy_srq(struct ib_srq *srq) argument 300 mlx4_ib_free_srq_wqe(struct mlx4_ib_srq *srq, int wqe_index) argument 317 struct mlx4_ib_srq *srq = to_msrq(ibsrq); local [all...] |
H A D | mlx4_ib_cq.c | 36 #include <dev/mlx4/srq.h> 662 struct mlx4_ib_srq *srq; local 738 } else if ((*cur_qp)->ibqp.srq) { 739 srq = to_msrq((*cur_qp)->ibqp.srq); 741 wc->wr_id = srq->wrid[wqe_ctr]; 742 mlx4_ib_free_srq_wqe(srq, wqe_ctr); 744 srq = to_mibsrq(msrq); 746 wc->wr_id = srq->wrid[wqe_ctr]; 747 mlx4_ib_free_srq_wqe(srq, wqe_ct 918 __mlx4_ib_cq_clean(struct mlx4_ib_cq *cq, u32 qpn, struct mlx4_ib_srq *srq) argument 971 mlx4_ib_cq_clean(struct mlx4_ib_cq *cq, u32 qpn, struct mlx4_ib_srq *srq) argument [all...] |
/freebsd-11-stable/contrib/ofed/libmlx5/ |
H A D | srq.c | 44 static void *get_wqe(struct mlx5_srq *srq, int n) argument 46 return srq->buf.buf + (n << srq->wqe_shift); 49 int mlx5_copy_to_recv_srq(struct mlx5_srq *srq, int idx, void *buf, int size) argument 55 int max = 1 << (srq->wqe_shift - 4); 57 next = get_wqe(srq, idx); 73 void mlx5_free_srq_wqe(struct mlx5_srq *srq, int ind) argument 77 mlx5_spin_lock(&srq->lock); 79 next = get_wqe(srq, srq 90 struct mlx5_srq *srq = to_msrq(ibsrq); local 149 mlx5_alloc_srq_buf(struct ibv_context *context, struct mlx5_srq *srq) argument 219 mlx5_store_srq(struct mlx5_context *ctx, uint32_t srqn, struct mlx5_srq *srq) argument [all...] |
H A D | verbs.c | 618 struct mlx5_srq *srq; local 625 srq = calloc(1, sizeof *srq); 626 if (!srq) { 630 ibsrq = &srq->vsrq.srq; 633 if (mlx5_spinlock_init(&srq->lock)) { 658 srq->max = align_queue_size(attr->attr.max_wr + 1); 659 srq->max_gs = attr->attr.max_sge; 660 srq 717 mlx5_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr, int attr_mask) argument 726 mlx5_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr) argument 734 mlx5_destroy_srq(struct ibv_srq *srq) argument 1749 mlx5_get_srq_num(struct ibv_srq *srq, uint32_t *srq_num) argument [all...] |
H A D | mlx5.h | 609 void __mlx5_cq_clean(struct mlx5_cq *cq, uint32_t qpn, struct mlx5_srq *srq); 610 void mlx5_cq_clean(struct mlx5_cq *cq, uint32_t qpn, struct mlx5_srq *srq); 615 int mlx5_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr, 617 int mlx5_query_srq(struct ibv_srq *srq, 619 int mlx5_destroy_srq(struct ibv_srq *srq); 620 int mlx5_alloc_srq_buf(struct ibv_context *context, struct mlx5_srq *srq); 621 void mlx5_free_srq_wqe(struct mlx5_srq *srq, int ind); 652 struct mlx5_srq *srq); 666 int mlx5_copy_to_recv_srq(struct mlx5_srq *srq, int idx, void *buf, int size); 669 int mlx5_get_srq_num(struct ibv_srq *srq, uint32_ [all...] |
H A D | cq.c | 144 struct mlx5_resource *cur_rsc, struct mlx5_srq *srq) 151 if (srq) { 153 cq->ibv_cq.wr_id = srq->wrid[wqe_ctr]; 154 mlx5_free_srq_wqe(srq, wqe_ctr); 156 err = mlx5_copy_to_recv_srq(srq, wqe_ctr, cqe, 159 err = mlx5_copy_to_recv_srq(srq, wqe_ctr, cqe - 1, 185 struct mlx5_resource *cur_rsc, struct mlx5_srq *srq) 194 if (srq) { 196 wc->wr_id = srq->wrid[wqe_ctr]; 197 mlx5_free_srq_wqe(srq, wqe_ct 143 handle_responder_lazy(struct mlx5_cq *cq, struct mlx5_cqe64 *cqe, struct mlx5_resource *cur_rsc, struct mlx5_srq *srq) argument 184 handle_responder(struct ibv_wc *wc, struct mlx5_cqe64 *cqe, struct mlx5_resource *cur_rsc, struct mlx5_srq *srq) argument 737 struct mlx5_srq *srq = NULL; local 1341 free_res_cqe(struct mlx5_cqe64 *cqe64, uint32_t rsn, struct mlx5_srq *srq, int cqe_version) argument 1363 __mlx5_cq_clean(struct mlx5_cq *cq, uint32_t rsn, struct mlx5_srq *srq) argument 1417 mlx5_cq_clean(struct mlx5_cq *cq, uint32_t qpn, struct mlx5_srq *srq) argument [all...] |
/freebsd-11-stable/sys/dev/mlx5/mlx5_ib/ |
H A D | mlx5_ib_srq.c | 30 #include <dev/mlx5/srq.h> 40 static void *get_wqe(struct mlx5_ib_srq *srq, int n) argument 42 return mlx5_buf_offset(&srq->buf, n << srq->msrq.wqe_shift); 45 static void mlx5_ib_srq_event(struct mlx5_core_srq *srq, int type) argument 48 struct ib_srq *ibsrq = &to_mibsrq(srq)->ibsrq; 52 event.element.srq = ibsrq; 62 type, srq->srqn); 70 static int create_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq, argument 106 srq 156 create_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq, struct mlx5_srq_attr *in, int buf_size) argument 220 destroy_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq) argument 227 destroy_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq) argument 239 struct mlx5_ib_srq *srq; local 352 struct mlx5_ib_srq *srq = to_msrq(ibsrq); local 377 struct mlx5_ib_srq *srq = to_msrq(ibsrq); local 398 mlx5_ib_destroy_srq(struct ib_srq *srq) argument 416 mlx5_ib_free_srq_wqe(struct mlx5_ib_srq *srq, int wqe_index) argument 433 struct mlx5_ib_srq *srq = to_msrq(ibsrq); local [all...] |
/freebsd-11-stable/sys/dev/mlx5/mlx5_core/ |
H A D | mlx5_srq.c | 31 #include <dev/mlx5/srq.h> 39 struct mlx5_core_srq *srq; local 43 srq = radix_tree_lookup(&table->tree, srqn); 44 if (srq) 45 atomic_inc(&srq->refcount); 49 if (!srq) { 54 srq->event(srq, event_type); 56 if (atomic_dec_and_test(&srq->refcount)) 57 complete(&srq 115 struct mlx5_core_srq *srq; local 145 create_rmp_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) argument 174 destroy_rmp_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq) argument 180 query_rmp_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) argument 205 arm_rmp_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, u16 lwm) argument 210 create_xrc_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) argument 243 destroy_xrc_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq) argument 249 query_xrc_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) argument 276 arm_xrc_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, u16 lwm) argument 282 create_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) argument 314 destroy_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq) argument 326 query_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) argument 354 arm_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, u16 lwm, int is_srq) argument 368 create_srq_split(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) argument 379 destroy_srq_split(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq) argument 389 mlx5_core_create_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) argument 424 mlx5_core_destroy_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq) argument 454 mlx5_core_query_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) argument 466 mlx5_core_arm_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, u16 lwm, int is_srq) argument [all...] |
/freebsd-11-stable/sys/dev/mlx4/mlx4_core/ |
H A D | mlx4_srq.c | 35 #include <dev/mlx4/srq.h> 46 struct mlx4_srq *srq; local 49 srq = radix_tree_lookup(&srq_table->tree, srqn & (dev->caps.num_srqs - 1)); 51 if (srq) 52 atomic_inc(&srq->refcount); 58 srq->event(srq, event_type); 60 if (atomic_dec_and_test(&srq->refcount)) 61 complete(&srq->free); 163 struct mlx4_mtt *mtt, u64 db_rec, struct mlx4_srq *srq) 162 mlx4_srq_alloc(struct mlx4_dev *dev, u32 pdn, u32 cqn, u16 xrcd, struct mlx4_mtt *mtt, u64 db_rec, struct mlx4_srq *srq) argument 222 mlx4_srq_free(struct mlx4_dev *dev, struct mlx4_srq *srq) argument 243 mlx4_srq_arm(struct mlx4_dev *dev, struct mlx4_srq *srq, int limit_watermark) argument 249 mlx4_srq_query(struct mlx4_dev *dev, struct mlx4_srq *srq, int *limit_watermark) argument 300 struct mlx4_srq *srq; local [all...] |
/freebsd-11-stable/lib/ofed/libmlx4/ |
H A D | Makefile | 17 srq.c \
|
/freebsd-11-stable/contrib/ofed/libibverbs/ |
H A D | compat-1_0.c | 77 struct ibv_srq_1_0 *srq; member in struct:ibv_qp_init_attr_1_0 123 struct ibv_srq_1_0 *srq; member in struct:ibv_qp_1_0 187 int (*modify_srq)(struct ibv_srq *srq, 190 int (*query_srq)(struct ibv_srq *srq, 192 int (*destroy_srq)(struct ibv_srq *srq); 193 int (*post_srq_recv)(struct ibv_srq_1_0 *srq, 268 int __ibv_modify_srq_1_0(struct ibv_srq_1_0 *srq, struct ibv_srq_attr *srq_attr, 270 int __ibv_query_srq_1_0(struct ibv_srq_1_0 *srq, struct ibv_srq_attr *srq_attr); 271 int __ibv_destroy_srq_1_0(struct ibv_srq_1_0 *srq); 367 static int post_srq_recv_wrapper_1_0(struct ibv_srq_1_0 *srq, struc argument 816 struct ibv_srq_1_0 *srq; local 839 __ibv_modify_srq_1_0(struct ibv_srq_1_0 *srq, struct ibv_srq_attr *srq_attr, int srq_attr_mask) argument 847 __ibv_query_srq_1_0(struct ibv_srq_1_0 *srq, struct ibv_srq_attr *srq_attr) argument 853 __ibv_destroy_srq_1_0(struct ibv_srq_1_0 *srq) argument [all...] |
H A D | driver.h | 78 struct ibv_srq srq; member in struct:verbs_srq 208 struct ibv_srq *srq, struct ibv_srq_init_attr *attr, 212 struct verbs_srq *srq, int vsrq_sz, 216 int ibv_cmd_modify_srq(struct ibv_srq *srq, 220 int ibv_cmd_query_srq(struct ibv_srq *srq, 223 int ibv_cmd_destroy_srq(struct ibv_srq *srq); 265 int ibv_cmd_post_srq_recv(struct ibv_srq *srq, struct ibv_recv_wr *wr, 313 static inline int verbs_get_srq_num(struct ibv_srq *srq, uint32_t *srq_num) argument 315 struct verbs_srq *vsrq = container_of(srq, struct verbs_srq, srq); [all...] |
H A D | cmd.c | 641 struct ibv_srq *srq, struct ibv_srq_init_attr *attr, 646 cmd->user_handle = (uintptr_t) srq; 657 srq->handle = resp->srq_handle; 658 srq->context = pd->context; 676 struct verbs_srq *srq, int vsrq_sz, 691 cmd->user_handle = (uintptr_t) srq; 713 srq->srq.handle = resp->srq_handle; 714 srq->srq 640 ibv_cmd_create_srq(struct ibv_pd *pd, struct ibv_srq *srq, struct ibv_srq_init_attr *attr, struct ibv_create_srq *cmd, size_t cmd_size, struct ibv_create_srq_resp *resp, size_t resp_size) argument 675 ibv_cmd_create_srq_ex(struct ibv_context *context, struct verbs_srq *srq, int vsrq_sz, struct ibv_srq_init_attr_ex *attr_ex, struct ibv_create_xsrq *cmd, size_t cmd_size, struct ibv_create_srq_resp *resp, size_t resp_size) argument 750 ibv_cmd_modify_srq_v3(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, int srq_attr_mask, struct ibv_modify_srq *new_cmd, size_t new_cmd_size) argument 778 ibv_cmd_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, int srq_attr_mask, struct ibv_modify_srq *cmd, size_t cmd_size) argument 800 ibv_cmd_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, struct ibv_query_srq *cmd, size_t cmd_size) argument 821 ibv_cmd_destroy_srq(struct ibv_srq *srq) argument 1521 ibv_cmd_post_srq_recv(struct ibv_srq *srq, struct ibv_recv_wr *wr, struct ibv_recv_wr **bad_wr) argument [all...] |
H A D | verbs.c | 85 int __ibv_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, 87 int __ibv_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr); 88 int __ibv_destroy_srq(struct ibv_srq *srq); 526 struct ibv_srq *srq; local 531 srq = pd->context->ops.create_srq(pd, srq_init_attr); 532 if (srq) { 533 srq->context = pd->context; 534 srq->srq_context = srq_init_attr->srq_context; 535 srq->pd = pd; 536 srq 545 __ibv_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, int srq_attr_mask) argument 553 __ibv_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr) argument 559 __ibv_destroy_srq(struct ibv_srq *srq) argument [all...] |
H A D | device.c | 317 event->element.srq = (void *) (uintptr_t) ev.element; 372 struct ibv_srq *srq = event->element.srq; local 374 pthread_mutex_lock(&srq->mutex); 375 ++srq->events_completed; 376 pthread_cond_signal(&srq->cond); 377 pthread_mutex_unlock(&srq->mutex);
|
/freebsd-11-stable/lib/ofed/libmlx5/ |
H A D | Makefile | 17 srq.c \
|
/freebsd-11-stable/sys/ofed/drivers/infiniband/core/ |
H A D | ib_verbs.c | 623 struct ib_srq *srq; local 628 srq = pd->device->create_srq(pd, srq_init_attr, NULL); 630 if (!IS_ERR(srq)) { 631 srq->device = pd->device; 632 srq->pd = pd; 633 srq->uobject = NULL; 634 srq->event_handler = srq_init_attr->event_handler; 635 srq->srq_context = srq_init_attr->srq_context; 636 srq->srq_type = srq_init_attr->srq_type; 637 if (srq 651 ib_modify_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr, enum ib_srq_attr_mask srq_attr_mask) argument 661 ib_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr) argument 669 ib_destroy_srq(struct ib_srq *srq) argument 1321 struct ib_srq *srq; local [all...] |
/freebsd-11-stable/contrib/ofed/libibcm/ |
H A D | cm.h | 122 unsigned int srq:1; member in struct:ib_cm_req_event_param 136 unsigned int srq:1; member in struct:ib_cm_rep_event_param 370 uint8_t srq; member in struct:ib_cm_req_param 394 uint8_t srq; member in struct:ib_cm_rep_param
|
/freebsd-11-stable/sys/ofed/include/rdma/ |
H A D | ib_cm.h | 146 unsigned int srq:1; member in struct:ib_cm_req_event_param 160 unsigned int srq:1; member in struct:ib_cm_rep_event_param 400 u8 srq; member in struct:ib_cm_req_param 423 u8 srq; member in struct:ib_cm_rep_param
|
/freebsd-11-stable/sys/ofed/include/uapi/rdma/ |
H A D | ib_user_cm.h | 158 __u8 srq; member in struct:ib_ucm_req 175 __u8 srq; member in struct:ib_ucm_rep 255 __u8 srq; member in struct:ib_ucm_req_event_resp 271 __u8 srq; member in struct:ib_ucm_rep_event_resp
|