/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | srq.c | 37 #include <linux/mlx5/srq.h> 44 struct mlx5_core_srq *srq; local 48 srq = radix_tree_lookup(&table->tree, srqn); 49 if (srq) 50 atomic_inc(&srq->refcount); 54 if (!srq) { 59 srq->event(srq, event_type); 61 if (atomic_dec_and_test(&srq->refcount)) 62 complete(&srq 68 struct mlx5_core_srq *srq; local 82 mlx5_core_create_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_create_srq_mbox_in *in, int inlen) argument 125 mlx5_core_destroy_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq) argument 164 mlx5_core_query_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, struct mlx5_query_srq_mbox_out *out) argument 186 mlx5_core_arm_srq(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq, u16 lwm, int is_srq) argument [all...] |
/drivers/infiniband/hw/ipath/ |
H A D | ipath_srq.c | 51 struct ipath_srq *srq = to_isrq(ibsrq); local 61 if ((unsigned) wr->num_sge > srq->rq.max_sge) { 67 spin_lock_irqsave(&srq->rq.lock, flags); 68 wq = srq->rq.wq; 70 if (next >= srq->rq.size) 73 spin_unlock_irqrestore(&srq->rq.lock, flags); 79 wqe = get_rwqe_ptr(&srq->rq, wq->head); 87 spin_unlock_irqrestore(&srq->rq.lock, flags); 106 struct ipath_srq *srq; local 126 srq 219 struct ipath_srq *srq = to_isrq(ibsrq); local 353 struct ipath_srq *srq = to_isrq(ibsrq); local 367 struct ipath_srq *srq = to_isrq(ibsrq); local [all...] |
H A D | ipath_ruc.c | 171 struct ipath_srq *srq; local 177 if (qp->ibqp.srq) { 178 srq = to_isrq(qp->ibqp.srq); 179 handler = srq->ibsrq.event_handler; 180 rq = &srq->rq; 182 srq = NULL; 231 if (n < srq->limit) { 234 srq->limit = 0; 237 ev.element.srq [all...] |
H A D | ipath_ud.c | 57 struct ipath_srq *srq; local 107 if (qp->ibqp.srq) { 108 srq = to_isrq(qp->ibqp.srq); 109 handler = srq->ibsrq.event_handler; 110 rq = &srq->rq; 112 srq = NULL; 164 if (n < srq->limit) { 167 srq->limit = 0; 170 ev.element.srq [all...] |
H A D | ipath_qp.c | 636 attr->cap.max_recv_wr = qp->ibqp.srq ? 0 : qp->r_rq.size - 1; 660 init_attr->srq = qp->ibqp.srq; 681 if (qp->ibqp.srq) { 765 if (!init_attr->srq) { 796 if (init_attr->srq) { 797 struct ipath_srq *srq = to_isrq(init_attr->srq); local 799 if (srq->rq.max_sge > 1) 801 (srq [all...] |
/drivers/infiniband/hw/mlx4/ |
H A D | srq.c | 35 #include <linux/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 232 struct mlx4_ib_srq *srq = to_msrq(ibsrq); local 257 struct mlx4_ib_srq *srq = to_msrq(ibsrq); local 272 mlx4_ib_destroy_srq(struct ib_srq *srq) argument 295 mlx4_ib_free_srq_wqe(struct mlx4_ib_srq *srq, int wqe_index) argument 312 struct mlx4_ib_srq *srq = to_msrq(ibsrq); local [all...] |
H A D | cq.c | 36 #include <linux/mlx4/srq.h> 601 struct mlx4_ib_srq *srq; local 694 } else if ((*cur_qp)->ibqp.srq) { 695 srq = to_msrq((*cur_qp)->ibqp.srq); 697 wc->wr_id = srq->wrid[wqe_ctr]; 698 mlx4_ib_free_srq_wqe(srq, wqe_ctr); 700 srq = to_mibsrq(msrq); 702 wc->wr_id = srq->wrid[wqe_ctr]; 703 mlx4_ib_free_srq_wqe(srq, wqe_ct 866 __mlx4_ib_cq_clean(struct mlx4_ib_cq *cq, u32 qpn, struct mlx4_ib_srq *srq) argument 919 mlx4_ib_cq_clean(struct mlx4_ib_cq *cq, u32 qpn, struct mlx4_ib_srq *srq) argument [all...] |
/drivers/infiniband/hw/qib/ |
H A D | qib_srq.c | 51 struct qib_srq *srq = to_isrq(ibsrq); local 61 if ((unsigned) wr->num_sge > srq->rq.max_sge) { 67 spin_lock_irqsave(&srq->rq.lock, flags); 68 wq = srq->rq.wq; 70 if (next >= srq->rq.size) 73 spin_unlock_irqrestore(&srq->rq.lock, flags); 79 wqe = get_rwqe_ptr(&srq->rq, wq->head); 87 spin_unlock_irqrestore(&srq->rq.lock, flags); 106 struct qib_srq *srq; local 123 srq 215 struct qib_srq *srq = to_isrq(ibsrq); local 353 struct qib_srq *srq = to_isrq(ibsrq); local 367 struct qib_srq *srq = to_isrq(ibsrq); local [all...] |
H A D | qib_ruc.c | 90 pd = to_ipd(qp->ibqp.srq ? qp->ibqp.srq->pd : qp->ibqp.pd); 143 struct qib_srq *srq; local 149 if (qp->ibqp.srq) { 150 srq = to_isrq(qp->ibqp.srq); 151 handler = srq->ibsrq.event_handler; 152 rq = &srq->rq; 154 srq = NULL; 207 if (n < srq [all...] |
H A D | qib_qp.c | 869 attr->cap.max_recv_wr = qp->ibqp.srq ? 0 : qp->r_rq.size - 1; 893 init_attr->srq = qp->ibqp.srq; 914 if (qp->ibqp.srq) { 995 if (!init_attr->srq) { 1031 if (init_attr->srq) { 1032 struct qib_srq *srq = to_isrq(init_attr->srq); local 1034 if (srq->rq.max_sge > 1) 1036 (srq [all...] |
/drivers/net/ethernet/mellanox/mlx4/ |
H A D | srq.c | 36 #include <linux/mlx4/srq.h> 46 struct mlx4_srq *srq; local 50 srq = radix_tree_lookup(&srq_table->tree, srqn & (dev->caps.num_srqs - 1)); 51 if (srq) 52 atomic_inc(&srq->refcount); 56 if (!srq) { 61 srq->event(srq, event_type); 63 if (atomic_dec_and_test(&srq->refcount)) 64 complete(&srq 165 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 225 mlx4_srq_free(struct mlx4_dev *dev, struct mlx4_srq *srq) argument 246 mlx4_srq_arm(struct mlx4_dev *dev, struct mlx4_srq *srq, int limit_watermark) argument 252 mlx4_srq_query(struct mlx4_dev *dev, struct mlx4_srq *srq, int *limit_watermark) argument 303 struct mlx4_srq *srq; local [all...] |
/drivers/infiniband/hw/mlx5/ |
H A D | srq.c | 35 #include <linux/mlx5/srq.h> 46 static void *get_wqe(struct mlx5_ib_srq *srq, int n) argument 48 return mlx5_buf_offset(&srq->buf, n << srq->msrq.wqe_shift); 51 static void mlx5_ib_srq_event(struct mlx5_core_srq *srq, enum mlx5_event type) argument 54 struct ib_srq *ibsrq = &to_mibsrq(srq)->ibsrq; 58 event.element.srq = ibsrq; 68 type, srq->srqn); 76 static int create_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq, argument 103 srq 152 create_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq, struct mlx5_create_srq_mbox_in **in, int buf_size, int *inlen) argument 222 destroy_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq) argument 229 destroy_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq) argument 242 struct mlx5_ib_srq *srq; local 350 struct mlx5_ib_srq *srq = to_msrq(ibsrq); local 375 struct mlx5_ib_srq *srq = to_msrq(ibsrq); local 396 mlx5_ib_destroy_srq(struct ib_srq *srq) argument 414 mlx5_ib_free_srq_wqe(struct mlx5_ib_srq *srq, int wqe_index) argument 431 struct mlx5_ib_srq *srq = to_msrq(ibsrq); local [all...] |
H A D | cq.c | 174 struct mlx5_ib_srq *srq; local 179 if (qp->ibqp.srq || qp->ibqp.xrcd) { 185 srq = to_mibsrq(msrq); 187 srq = to_msrq(qp->ibqp.srq); 189 if (srq) { 191 wc->wr_id = srq->wrid[wqe_ctr]; 192 mlx5_ib_free_srq_wqe(srq, wqe_ctr); 500 struct mlx5_ib_srq *srq; local 502 if ((*cur_qp)->ibqp.srq) { 853 __mlx5_ib_cq_clean(struct mlx5_ib_cq *cq, u32 rsn, struct mlx5_ib_srq *srq) argument 904 mlx5_ib_cq_clean(struct mlx5_ib_cq *cq, u32 qpn, struct mlx5_ib_srq *srq) argument [all...] |
/drivers/net/ |
H A D | eql.c | 264 static int eql_enslave(struct net_device *dev, slaving_request_t __user *srq); 265 static int eql_emancipate(struct net_device *dev, slaving_request_t __user *srq); 412 slaving_request_t srq; local 414 if (copy_from_user(&srq, srqp, sizeof (slaving_request_t))) 417 slave_dev = __dev_get_by_name(&init_net, srq.slave_name); 433 s->priority = srq.priority; 434 s->priority_bps = srq.priority; 435 s->priority_Bps = srq.priority / 8; 455 slaving_request_t srq; local 458 if (copy_from_user(&srq, srq [all...] |
/drivers/infiniband/hw/ehca/ |
H A D | ehca_reqs.c | 600 int ehca_post_srq_recv(struct ib_srq *srq, argument 604 return internal_post_recv(container_of(srq, struct ehca_qp, ib_srq), 605 srq->device, recv_wr, bad_recv_wr);
|
H A D | ehca_qp.c | 506 if (init_attr->srq) { 507 my_srq = container_of(init_attr->srq, struct ehca_qp, ib_srq); 809 } else if (init_attr->srq && !is_user) { 832 my_qp->ib_qp.srq = init_attr->srq; 2090 int ehca_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr) argument 2092 struct ehca_qp *my_qp = container_of(srq, struct ehca_qp, ib_srq); 2093 struct ehca_shca *shca = container_of(srq->device, struct ehca_shca, 2102 ehca_err(srq->device, "Out of memory for qpcb " 2112 ehca_err(srq 2235 ehca_destroy_srq(struct ib_srq *srq) argument [all...] |
/drivers/infiniband/hw/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...] |
H A D | mthca_provider.c | 440 struct mthca_srq *srq; local 446 srq = kmalloc(sizeof *srq, GFP_KERNEL); 447 if (!srq) 465 srq->mr.ibmr.lkey = ucmd.lkey; 466 srq->db_index = ucmd.db_index; 470 &init_attr->attr, srq); 479 if (context && ib_copy_to_udata(udata, &srq->srqn, sizeof (__u32))) { 480 mthca_free_srq(to_mdev(pd->device), srq); 485 return &srq 493 mthca_destroy_srq(struct ib_srq *srq) argument [all...] |
H A D | mthca_cq.c | 279 struct mthca_srq *srq) 311 if (srq && is_recv_cqe(cqe)) 312 mthca_free_srq_wqe(srq, be32_to_cpu(cqe->wqe)); 544 } else if ((*cur_qp)->ibqp.srq) { 545 struct mthca_srq *srq = to_msrq((*cur_qp)->ibqp.srq); local 548 wqe_index = wqe >> srq->wqe_shift; 549 entry->wr_id = srq->wrid[wqe_index]; 550 mthca_free_srq_wqe(srq, wqe); 278 mthca_cq_clean(struct mthca_dev *dev, struct mthca_cq *cq, u32 qpn, struct mthca_srq *srq) argument
|
H A D | mthca_eq.c | 147 } __attribute__((packed)) srq; member in union:mthca_eqe::__anon1540 302 mthca_srq_event(dev, be32_to_cpu(eqe->event.srq.srqn) & 0xffffff,
|
/drivers/infiniband/core/ |
H A D | uverbs_main.c | 261 struct ib_srq *srq = uobj->object; local 266 ib_destroy_srq(srq); 522 uobj = container_of(event->element.srq->uobject,
|
H A D | verbs.c | 296 struct ib_srq *srq; local 301 srq = pd->device->create_srq(pd, srq_init_attr, NULL); 303 if (!IS_ERR(srq)) { 304 srq->device = pd->device; 305 srq->pd = pd; 306 srq->uobject = NULL; 307 srq->event_handler = srq_init_attr->event_handler; 308 srq->srq_context = srq_init_attr->srq_context; 309 srq->srq_type = srq_init_attr->srq_type; 310 if (srq 324 ib_modify_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr, enum ib_srq_attr_mask srq_attr_mask) argument 334 ib_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr) argument 342 ib_destroy_srq(struct ib_srq *srq) argument 979 struct ib_srq *srq; local [all...] |
/drivers/net/wireless/orinoco/ |
H A D | wext.c | 491 struct iw_param *srq, 512 srq->value = val; 513 srq->fixed = 0; /* auto */ 520 struct iw_param *srq, 524 int val = srq->value; 489 orinoco_ioctl_getsens(struct net_device *dev, struct iw_request_info *info, struct iw_param *srq, char *extra) argument 518 orinoco_ioctl_setsens(struct net_device *dev, struct iw_request_info *info, struct iw_param *srq, char *extra) argument
|
/drivers/staging/lustre/lnet/selftest/ |
H A D | conrpc.c | 691 srpc_stat_reqst_t *srq; local 698 srq = &(*crpc)->crp_rpc->crpc_reqstmsg.msg_body.stat_reqst; 700 srq->str_sid = console_session.ses_id; 701 srq->str_type = 0; /* XXX remove it */
|
/drivers/infiniband/ulp/srpt/ |
H A D | ib_srpt.h | 381 * @srq: Per-HCA SRQ (shared receive queue). 398 struct ib_srq *srq; member in struct:srpt_device
|