/freebsd/sys/dev/mlx4/mlx4_ib/ |
H A D | mlx4_ib_srq.c | 44 return mlx4_buf_offset(&srq->buf, n << srq->msrq.wqe_shift); in get_wqe() 96 srq->msrq.max = roundup_pow_of_two(init_attr->attr.max_wr + 1); in mlx4_ib_create_srq() 97 srq->msrq.max_gs = init_attr->attr.max_sge; in mlx4_ib_create_srq() 101 srq->msrq.max_gs * in mlx4_ib_create_srq() 103 srq->msrq.wqe_shift = ilog2(desc_size); in mlx4_ib_create_srq() 105 buf_size = srq->msrq.max * desc_size; in mlx4_ib_create_srq() 145 srq->tail = srq->msrq.max - 1; in mlx4_ib_create_srq() 148 for (i = 0; i < srq->msrq.max; ++i) { in mlx4_ib_create_srq() 151 cpu_to_be16((i + 1) & (srq->msrq.max - 1)); in mlx4_ib_create_srq() 168 srq->wrid = kmalloc_array(srq->msrq.max, sizeof(u64), in mlx4_ib_create_srq() [all …]
|
H A D | mlx4_ib.h | 336 struct mlx4_srq msrq; member 694 static inline struct mlx4_ib_srq *to_mibsrq(struct mlx4_srq *msrq) in to_mibsrq() argument 696 return container_of(msrq, struct mlx4_ib_srq, msrq); in to_mibsrq()
|
H A D | mlx4_ib_cq.c | 657 struct mlx4_srq *msrq = NULL; in mlx4_ib_poll_one() local 720 msrq = mlx4_srq_lookup(to_mdev(cq->ibcq.device)->dev, in mlx4_ib_poll_one() 737 } else if (msrq) { in mlx4_ib_poll_one() 738 srq = to_mibsrq(msrq); in mlx4_ib_poll_one()
|
H A D | mlx4_ib_qp.c | 1919 context->srqn = cpu_to_be32(1 << 24 | to_msrq(ibqp->srq)->msrq.srqn); in __mlx4_ib_modify_qp()
|
/freebsd/sys/dev/mlx5/mlx5_ib/ |
H A D | mlx5_ib_srq.c | 41 return mlx5_buf_offset(&srq->buf, n << srq->msrq.wqe_shift); in get_wqe() 176 srq->tail = srq->msrq.max - 1; in create_srq_kernel() 179 for (i = 0; i < srq->msrq.max; i++) { in create_srq_kernel() 182 cpu_to_be16((i + 1) & (srq->msrq.max - 1)); in create_srq_kernel() 193 srq->wrid = kmalloc(srq->msrq.max * sizeof(u64), GFP_KERNEL); in create_srq_kernel() 260 srq->msrq.max = roundup_pow_of_two(init_attr->attr.max_wr + 1); in mlx5_ib_create_srq() 261 srq->msrq.max_gs = init_attr->attr.max_sge; in mlx5_ib_create_srq() 264 srq->msrq.max_gs * sizeof(struct mlx5_wqe_data_seg); in mlx5_ib_create_srq() 265 if (desc_size == 0 || srq->msrq.max_gs > desc_size) in mlx5_ib_create_srq() 273 srq->msrq.max_avail_gather = (desc_size - sizeof(struct mlx5_wqe_srq_next_seg)) / in mlx5_ib_create_srq() [all …]
|
H A D | mlx5_ib_cq.c | 177 struct mlx5_core_srq *msrq = NULL; in handle_responder() local 180 msrq = mlx5_core_get_srq(dev->mdev, in handle_responder() 182 srq = to_mibsrq(msrq); in handle_responder() 190 if (msrq && atomic_dec_and_test(&msrq->refcount)) in handle_responder() 191 complete(&msrq->free); in handle_responder()
|
H A D | mlx5_ib.h | 497 struct mlx5_core_srq msrq; member 863 static inline struct mlx5_ib_srq *to_mibsrq(struct mlx5_core_srq *msrq) in to_mibsrq() argument 865 return container_of(msrq, struct mlx5_ib_srq, msrq); in to_mibsrq()
|
H A D | mlx5_ib_qp.c | 1804 MLX5_SET(qpc, qpc, srqn_rmpn, to_msrq(devr->s0)->msrq.srqn); in create_qp_common() 1810 MLX5_SET(qpc, qpc, srqn_rmpn, to_msrq(devr->s0)->msrq.srqn); in create_qp_common() 1815 MLX5_SET(qpc, qpc, srqn_rmpn, to_msrq(init_attr->srq)->msrq.srqn); in create_qp_common() 1818 MLX5_SET(qpc, qpc, srqn_rmpn, to_msrq(devr->s1)->msrq.srqn); in create_qp_common()
|
H A D | mlx5_ib_devx.c | 619 struct mlx5_core_srq *srq = &(to_msrq(uobj->object)->msrq); in devx_is_valid_obj_id() 637 to_msrq(uobj->object)->msrq.srqn) == in devx_is_valid_obj_id()
|
/freebsd/contrib/ofed/libmlx4/ |
H A D | srq.c | 309 struct mlx4_srq *msrq = to_msrq(srq); in mlx4_destroy_xrc_srq() local 313 mcq = to_mcq(msrq->verbs_srq.cq); in mlx4_destroy_xrc_srq() 314 mlx4_cq_clean(mcq, 0, msrq); in mlx4_destroy_xrc_srq() 316 mlx4_clear_xsrq(&mctx->xsrq_table, msrq->verbs_srq.srq_num); in mlx4_destroy_xrc_srq() 322 mlx4_store_xsrq(&mctx->xsrq_table, msrq->verbs_srq.srq_num, msrq); in mlx4_destroy_xrc_srq() 327 mlx4_free_db(mctx, MLX4_DB_TYPE_RQ, msrq->db); in mlx4_destroy_xrc_srq() 328 mlx4_free_buf(&msrq->buf); in mlx4_destroy_xrc_srq() 329 free(msrq->wrid); in mlx4_destroy_xrc_srq() 330 pthread_spin_destroy(&msrq->lock); in mlx4_destroy_xrc_srq() 331 free(msrq); in mlx4_destroy_xrc_srq()
|
/freebsd/contrib/ofed/libmlx5/ |
H A D | verbs.c | 752 struct mlx5_srq *msrq = to_msrq(srq); in mlx5_destroy_srq() local 759 if (ctx->cqe_version && msrq->rsc.type == MLX5_RSC_TYPE_XSRQ) in mlx5_destroy_srq() 760 mlx5_clear_uidx(ctx, msrq->rsc.rsn); in mlx5_destroy_srq() 762 mlx5_clear_srq(ctx, msrq->srqn); in mlx5_destroy_srq() 764 mlx5_free_db(ctx, msrq->db); in mlx5_destroy_srq() 765 mlx5_free_buf(&msrq->buf); in mlx5_destroy_srq() 766 free(msrq->wrid); in mlx5_destroy_srq() 767 mlx5_spinlock_destroy(&msrq->lock); in mlx5_destroy_srq() 768 free(msrq); in mlx5_destroy_srq() 1777 struct mlx5_srq *msrq in mlx5_get_srq_num() local 1826 struct mlx5_srq *msrq; mlx5_create_xrc_srq() local [all...] |
H A D | mlx5.c | 712 struct mlx5_srq *msrq; in mlx5dv_get_srq() local 714 msrq = container_of(srq_in, struct mlx5_srq, vsrq.srq); in mlx5dv_get_srq() 717 srq_out->buf = msrq->buf.buf; in mlx5dv_get_srq() 718 srq_out->dbrec = msrq->db; in mlx5dv_get_srq() 719 srq_out->stride = 1 << msrq->wqe_shift; in mlx5dv_get_srq() 720 srq_out->head = msrq->head; in mlx5dv_get_srq() 721 srq_out->tail = msrq->tail; in mlx5dv_get_srq()
|