/linux-master/drivers/infiniband/core/ |
H A D | verbs.c | 1015 struct ib_srq *srq; local 1018 srq = rdma_zalloc_drv_obj(pd->device, ib_srq); 1019 if (!srq) 1022 srq->device = pd->device; 1023 srq->pd = pd; 1024 srq->event_handler = srq_init_attr->event_handler; 1025 srq->srq_context = srq_init_attr->srq_context; 1026 srq->srq_type = srq_init_attr->srq_type; 1027 srq->uobject = uobject; 1029 if (ib_srq_has_cq(srq 1061 ib_modify_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr, enum ib_srq_attr_mask srq_attr_mask) argument 1071 ib_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr) argument 1079 ib_destroy_srq_user(struct ib_srq *srq, struct ib_udata *udata) argument [all...] |
H A D | uverbs_std_types_qp.c | 93 struct ib_srq *srq = NULL; local 217 srq = uverbs_attr_get_obj(attrs, 219 if (!IS_ERR(srq)) { 220 if ((srq->srq_type == IB_SRQT_XRC && 222 (srq->srq_type != IB_SRQT_XRC && 225 attr.srq = srq;
|
H A D | cma_priv.h | 93 u8 srq; member in struct:rdma_id_private
|
H A D | uverbs_cmd.c | 1287 struct ib_srq *srq = NULL; local 1361 srq = uobj_get_obj_read(srq, UVERBS_OBJECT_SRQ, 1363 if (!srq || srq->srq_type == IB_SRQT_XRC) { 1400 attr.srq = srq; 1465 if (srq) 1466 rdma_lookup_put_uobject(&srq->uobject->uevent.uobject, 1493 if (srq) 2343 struct ib_srq *srq; local 3366 struct ib_srq *srq; local 3507 struct ib_srq *srq; local 3536 struct ib_srq *srq; local [all...] |
/linux-master/drivers/infiniband/hw/bnxt_re/ |
H A D | ib_verbs.h | 79 spinlock_t lock; /* protect srq */ 202 int bnxt_re_create_srq(struct ib_srq *srq, 205 int bnxt_re_modify_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr, 208 int bnxt_re_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr); 209 int bnxt_re_destroy_srq(struct ib_srq *srq, struct ib_udata *udata); 210 int bnxt_re_post_srq_recv(struct ib_srq *srq, const struct ib_recv_wr *recv_wr,
|
H A D | qplib_fp.h | 309 struct bnxt_qplib_srq *srq; member in struct:bnxt_qplib_qp 486 struct bnxt_qplib_srq *srq, u8 event); 521 struct bnxt_qplib_srq *srq); 523 struct bnxt_qplib_srq *srq); 525 struct bnxt_qplib_srq *srq); 527 struct bnxt_qplib_srq *srq); 528 int bnxt_qplib_post_srq_recv(struct bnxt_qplib_srq *srq,
|
/linux-master/drivers/infiniband/sw/rxe/ |
H A D | rxe_qp.c | 80 if (rxe_qp_chk_cap(rxe, cap, !!init->srq)) 334 if (!qp->srq) { 358 struct rxe_srq *srq = init->srq ? to_rsrq(init->srq) : NULL; local 364 if (srq) 365 rxe_get(srq); 370 qp->srq = srq; 402 qp->srq [all...] |
H A D | rxe_resp.c | 271 struct rxe_srq *srq = qp->srq; local 272 struct rxe_queue *q = srq->rq.queue; 279 if (srq->error) 282 spin_lock_irqsave(&srq->rq.consumer_lock, flags); 286 spin_unlock_irqrestore(&srq->rq.consumer_lock, flags); 291 if (unlikely(wqe->dma.num_sge > srq->rq.max_sge)) { 292 spin_unlock_irqrestore(&srq->rq.consumer_lock, flags); 303 if (srq->limit && srq 323 struct rxe_srq *srq = qp->srq; local [all...] |
H A D | rxe_verbs.h | 211 struct rxe_srq *srq; member in struct:rxe_qp 433 static inline struct rxe_srq *to_rsrq(struct ib_srq *srq) argument 435 return srq ? container_of(srq, struct rxe_srq, ibsrq) : NULL;
|
H A D | rxe_loc.h | 153 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, 156 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, 158 int rxe_srq_from_attr(struct rxe_dev *rxe, struct rxe_srq *srq,
|
/linux-master/drivers/infiniband/sw/siw/ |
H A D | siw_qp_rx.c | 333 struct siw_srq *srq; local 338 srq = qp->srq; 339 if (srq) { 340 spin_lock_irqsave(&srq->lock, flags); 341 if (unlikely(!srq->num_rqe)) 344 rqe = &srq->recvq[srq->rq_get % srq->num_rqe]; 378 if (srq) [all...] |
/linux-master/drivers/net/ethernet/chelsio/cxgb4/ |
H A D | srq.c | 37 #include "srq.h" 56 * @idx: Index to the srq 57 * @entryp: pointer to the srq entry 63 * number will be returned. Caller should not use the srq 78 s = adap->srq; 116 struct srq_data *s = adap->srq;
|
/linux-master/include/rdma/ |
H A D | ib_cm.h | 116 unsigned int srq:1; member in struct:ib_cm_req_event_param 131 unsigned int srq:1; member in struct:ib_cm_rep_event_param 369 u8 srq; member in struct:ib_cm_req_param 393 u8 srq; member in struct:ib_cm_rep_param
|
/linux-master/drivers/infiniband/hw/qedr/ |
H A D | verbs.c | 102 struct qedr_srq *srq = get_qedr_srq(ibsrq); local 104 srq_attr->srq_limit = srq->srq_limit; 1256 struct qedr_srq *srq, struct ib_udata *udata) 1261 uresp.srq_id = srq->srq_id; 1265 DP_ERR(dev, "create srq: problem copying data to user space\n"); 1372 if (attrs->srq) 1373 qp->srq = get_qedr_srq(attrs->srq); 1387 qp->state, qp->signaled, (attrs->srq) ? 1 : 0); 1428 "create srq 1255 qedr_copy_srq_uresp(struct qedr_dev *dev, struct qedr_srq *srq, struct ib_udata *udata) argument 1447 qedr_free_srq_user_params(struct qedr_srq *srq) argument 1454 qedr_free_srq_kernel_params(struct qedr_srq *srq) argument 1466 qedr_init_srq_user_params(struct ib_udata *udata, struct qedr_srq *srq, struct qedr_create_srq_ureq *ureq, int access) argument 1496 qedr_alloc_srq_kernel_params(struct qedr_srq *srq, struct qedr_dev *dev, struct ib_srq_init_attr *init_attr) argument 1553 struct qedr_srq *srq = get_qedr_srq(ibsrq); local 1657 struct qedr_srq *srq = get_qedr_srq(ibsrq); local 1680 struct qedr_srq *srq = get_qedr_srq(ibsrq); local 3834 struct qedr_srq *srq = get_qedr_srq(ibsrq); local 4297 struct qedr_srq *srq = qp->srq; local [all...] |
/linux-master/drivers/infiniband/hw/mlx4/ |
H A D | cq.c | 36 #include <linux/mlx4/srq.h> 663 struct mlx4_ib_srq *srq; local 739 } else if ((*cur_qp)->ibqp.srq) { 740 srq = to_msrq((*cur_qp)->ibqp.srq); 742 wc->wr_id = srq->wrid[wqe_ctr]; 743 mlx4_ib_free_srq_wqe(srq, wqe_ctr); 745 srq = to_mibsrq(msrq); 747 wc->wr_id = srq->wrid[wqe_ctr]; 748 mlx4_ib_free_srq_wqe(srq, wqe_ct 915 __mlx4_ib_cq_clean(struct mlx4_ib_cq *cq, u32 qpn, struct mlx4_ib_srq *srq) argument 968 mlx4_ib_cq_clean(struct mlx4_ib_cq *cq, u32 qpn, struct mlx4_ib_srq *srq) argument [all...] |
/linux-master/drivers/infiniband/hw/hns/ |
H A D | hns_roce_hw_v2.c | 866 static void *get_srq_wqe_buf(struct hns_roce_srq *srq, u32 n) argument 868 return hns_roce_buf_offset(srq->buf_mtr.kmem, n << srq->wqe_shift); 877 static void hns_roce_free_srq_wqe(struct hns_roce_srq *srq, u32 wqe_index) argument 880 spin_lock(&srq->lock); 882 bitmap_clear(srq->idx_que.bitmap, wqe_index, 1); 883 srq->idx_que.tail++; 885 spin_unlock(&srq->lock); 888 static int hns_roce_srqwq_overflow(struct hns_roce_srq *srq) argument 890 struct hns_roce_idx_que *idx_que = &srq 895 check_post_srq_valid(struct hns_roce_srq *srq, u32 max_sge, const struct ib_recv_wr *wr) argument 916 get_srq_wqe_idx(struct hns_roce_srq *srq, u32 *wqe_idx) argument 930 fill_wqe_idx(struct hns_roce_srq *srq, unsigned int wqe_idx) argument 944 update_srq_db(struct hns_roce_srq *srq) argument 960 struct hns_roce_srq *srq = to_hr_srq(ibsrq); local 3499 __hns_roce_v2_cq_clean(struct hns_roce_cq *hr_cq, u32 qpn, struct hns_roce_srq *srq) argument 3542 hns_roce_v2_cq_clean(struct hns_roce_cq *hr_cq, u32 qpn, struct hns_roce_srq *srq) argument 3888 struct hns_roce_srq *srq = NULL; local 5590 hns_roce_v2_write_srqc_index_queue(struct hns_roce_srq *srq, struct hns_roce_srq_context *ctx) argument 5636 hns_roce_v2_write_srqc(struct hns_roce_srq *srq, void *mb_buf) argument 5699 struct hns_roce_srq *srq = to_hr_srq(ibsrq); local 5750 struct hns_roce_srq *srq = to_hr_srq(ibsrq); local [all...] |
/linux-master/drivers/infiniband/hw/mthca/ |
H A D | mthca_dev.h | 248 struct mthca_array srq; member in struct:mthca_srq_table 496 struct mthca_srq *srq); 502 struct ib_srq_attr *attr, struct mthca_srq *srq, 504 void mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq); 507 int mthca_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr); 511 void mthca_free_srq_wqe(struct mthca_srq *srq, u32 wqe_addr); 512 int mthca_tavor_post_srq_recv(struct ib_srq *srq, const struct ib_recv_wr *wr, 514 int mthca_arbel_post_srq_recv(struct ib_srq *srq, const struct ib_recv_wr *wr,
|
H A D | mthca_cq.c | 274 struct mthca_srq *srq) 306 if (srq && is_recv_cqe(cqe)) 307 mthca_free_srq_wqe(srq, be32_to_cpu(cqe->wqe)); 539 } else if ((*cur_qp)->ibqp.srq) { 540 struct mthca_srq *srq = to_msrq((*cur_qp)->ibqp.srq); local 543 wqe_index = wqe >> srq->wqe_shift; 544 entry->wr_id = srq->wrid[wqe_index]; 545 mthca_free_srq_wqe(srq, wqe); 273 mthca_cq_clean(struct mthca_dev *dev, struct mthca_cq *cq, u32 qpn, struct mthca_srq *srq) argument
|
/linux-master/drivers/infiniband/hw/vmw_pvrdma/ |
H A D | pvrdma_main.c | 338 struct pvrdma_srq *srq; local 343 srq = dev->srq_tbl[srqn % dev->dsr->caps.max_srq]; 345 srq = NULL; 346 if (srq) 347 refcount_inc(&srq->refcnt); 350 if (srq && srq->ibsrq.event_handler) { 351 struct ib_srq *ibsrq = &srq->ibsrq; 355 e.element.srq = ibsrq; 359 if (srq) { [all...] |
H A D | pvrdma_verbs.h | 386 int pvrdma_create_srq(struct ib_srq *srq, struct ib_srq_init_attr *init_attr, 390 int pvrdma_query_srq(struct ib_srq *srq, struct ib_srq_attr *srq_attr); 391 int pvrdma_destroy_srq(struct ib_srq *srq, struct ib_udata *udata);
|
/linux-master/drivers/infiniband/hw/ocrdma/ |
H A D | ocrdma_hw.c | 756 ib_evt.element.srq = &qp->srq->ibsrq; 762 ib_evt.element.srq = &qp->srq->ibsrq; 790 if (qp->srq->ibsrq.event_handler) 791 qp->srq->ibsrq.event_handler(&ib_evt, 792 qp->srq->ibsrq. 916 if (qp->srq) 2114 if (!qp->srq) { 2357 if (!attrs->srq) { 2401 struct ocrdma_srq *srq = get_ocrdma_srq(attrs->srq); local 2739 ocrdma_mbx_create_srq(struct ocrdma_dev *dev, struct ocrdma_srq *srq, struct ib_srq_init_attr *srq_attr, struct ocrdma_pd *pd) argument 2814 ocrdma_mbx_modify_srq(struct ocrdma_srq *srq, struct ib_srq_attr *srq_attr) argument 2832 ocrdma_mbx_query_srq(struct ocrdma_srq *srq, struct ib_srq_attr *srq_attr) argument 2858 ocrdma_mbx_destroy_srq(struct ocrdma_dev *dev, struct ocrdma_srq *srq) argument [all...] |
H A D | ocrdma_verbs.h | 89 int ocrdma_create_srq(struct ib_srq *srq, struct ib_srq_init_attr *attr,
|
/linux-master/drivers/infiniband/hw/mlx5/ |
H A D | cq.c | 38 #include "srq.h" 171 struct mlx5_ib_srq *srq = NULL; local 178 if (qp->ibqp.srq || qp->ibqp.xrcd) { 184 srq = to_mibsrq(msrq); 186 srq = to_msrq(qp->ibqp.srq); 188 if (srq) { 190 wc->wr_id = srq->wrid[wqe_ctr]; 191 mlx5_ib_free_srq_wqe(srq, wqe_ctr); 540 struct mlx5_ib_srq *srq; local 1071 __mlx5_ib_cq_clean(struct mlx5_ib_cq *cq, u32 rsn, struct mlx5_ib_srq *srq) argument 1122 mlx5_ib_cq_clean(struct mlx5_ib_cq *cq, u32 qpn, struct mlx5_ib_srq *srq) argument [all...] |
/linux-master/drivers/infiniband/ulp/ipoib/ |
H A D | ipoib_cm.c | 104 ret = ib_post_srq_recv(priv->cm.srq, &priv->cm.rx_wr, NULL); 106 ipoib_warn(priv, "post srq failed for buf %d (%d)\n", id, ret); 257 .srq = priv->cm.srq, 436 rep.srq = ipoib_cm_has_srq(dev); 1063 .srq = priv->cm.srq, 1115 req.srq = ipoib_cm_has_srq(dev); 1563 priv->cm.srq = ib_create_srq(priv->pd, &srq_init_attr); 1564 if (IS_ERR(priv->cm.srq)) { [all...] |
/linux-master/drivers/infiniband/sw/rdmavt/ |
H A D | rc.c | 56 if (qp->ibqp.srq) {
|