/kernel/linux/linux-5.10/drivers/infiniband/hw/mthca/ |
H A D | mthca_srq.c | 74 static void *get_wqe(struct mthca_srq *srq, int n) in get_wqe() argument 76 if (srq->is_direct) in get_wqe() 77 return srq->queue.direct.buf + (n << srq->wqe_shift); in get_wqe() 79 return srq->queue.page_list[(n << srq->wqe_shift) >> PAGE_SHIFT].buf + in get_wqe() 80 ((n << srq->wqe_shift) & (PAGE_SIZE - 1)); in get_wqe() 99 struct mthca_srq *srq, in mthca_tavor_init_srq_context() 108 context->wqe_base_ds = cpu_to_be64(1 << (srq->wqe_shift - 4)); in mthca_tavor_init_srq_context() 110 context->lkey = cpu_to_be32(srq in mthca_tavor_init_srq_context() 97 mthca_tavor_init_srq_context(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct mthca_tavor_srq_context *context, struct ib_udata *udata) mthca_tavor_init_srq_context() argument 118 mthca_arbel_init_srq_context(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct mthca_arbel_srq_context *context, struct ib_udata *udata) mthca_arbel_init_srq_context() argument 147 mthca_free_srq_buf(struct mthca_dev *dev, struct mthca_srq *srq) mthca_free_srq_buf() argument 154 mthca_alloc_srq_buf(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct ib_udata *udata) mthca_alloc_srq_buf() argument 206 mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd, struct ib_srq_attr *attr, struct mthca_srq *srq, struct ib_udata *udata) mthca_alloc_srq() argument 327 get_srq_refcount(struct mthca_dev *dev, struct mthca_srq *srq) get_srq_refcount() argument 338 mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq) mthca_free_srq() argument 376 struct mthca_srq *srq = to_msrq(ibsrq); mthca_modify_srq() local 399 struct mthca_srq *srq = to_msrq(ibsrq); mthca_query_srq() local 433 struct mthca_srq *srq; mthca_srq_event() local 465 mthca_free_srq_wqe(struct mthca_srq *srq, u32 wqe_addr) mthca_free_srq_wqe() argument 487 struct mthca_srq *srq = to_msrq(ibsrq); mthca_tavor_post_srq_recv() local 581 struct mthca_srq *srq = to_msrq(ibsrq); mthca_arbel_post_srq_recv() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mthca/ |
H A D | mthca_srq.c | 74 static void *get_wqe(struct mthca_srq *srq, int n) in get_wqe() argument 76 if (srq->is_direct) in get_wqe() 77 return srq->queue.direct.buf + (n << srq->wqe_shift); in get_wqe() 79 return srq->queue.page_list[(n << srq->wqe_shift) >> PAGE_SHIFT].buf + in get_wqe() 80 ((n << srq->wqe_shift) & (PAGE_SIZE - 1)); in get_wqe() 99 struct mthca_srq *srq, in mthca_tavor_init_srq_context() 108 context->wqe_base_ds = cpu_to_be64(1 << (srq->wqe_shift - 4)); in mthca_tavor_init_srq_context() 110 context->lkey = cpu_to_be32(srq in mthca_tavor_init_srq_context() 97 mthca_tavor_init_srq_context(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct mthca_tavor_srq_context *context, struct ib_udata *udata) mthca_tavor_init_srq_context() argument 118 mthca_arbel_init_srq_context(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct mthca_arbel_srq_context *context, struct ib_udata *udata) mthca_arbel_init_srq_context() argument 147 mthca_free_srq_buf(struct mthca_dev *dev, struct mthca_srq *srq) mthca_free_srq_buf() argument 154 mthca_alloc_srq_buf(struct mthca_dev *dev, struct mthca_pd *pd, struct mthca_srq *srq, struct ib_udata *udata) mthca_alloc_srq_buf() argument 206 mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd, struct ib_srq_attr *attr, struct mthca_srq *srq, struct ib_udata *udata) mthca_alloc_srq() argument 327 get_srq_refcount(struct mthca_dev *dev, struct mthca_srq *srq) get_srq_refcount() argument 338 mthca_free_srq(struct mthca_dev *dev, struct mthca_srq *srq) mthca_free_srq() argument 376 struct mthca_srq *srq = to_msrq(ibsrq); mthca_modify_srq() local 399 struct mthca_srq *srq = to_msrq(ibsrq); mthca_query_srq() local 433 struct mthca_srq *srq; mthca_srq_event() local 465 mthca_free_srq_wqe(struct mthca_srq *srq, u32 wqe_addr) mthca_free_srq_wqe() argument 487 struct mthca_srq *srq = to_msrq(ibsrq); mthca_tavor_post_srq_recv() local 581 struct mthca_srq *srq = to_msrq(ibsrq); mthca_arbel_post_srq_recv() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/mlx5/ |
H A D | srq.c | 12 #include "srq.h" 14 static void *get_wqe(struct mlx5_ib_srq *srq, int n) in get_wqe() argument 16 return mlx5_frag_buf_get_wqe(&srq->fbc, n); in get_wqe() 19 static void mlx5_ib_srq_event(struct mlx5_core_srq *srq, enum mlx5_event type) in mlx5_ib_srq_event() argument 22 struct ib_srq *ibsrq = &to_mibsrq(srq)->ibsrq; in mlx5_ib_srq_event() 26 event.element.srq = ibsrq; in mlx5_ib_srq_event() 36 type, srq->srqn); in mlx5_ib_srq_event() 44 static int create_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq, in create_srq_user() argument 81 srq->wq_sig = !!(ucmd.flags & MLX5_SRQ_FLAG_SIGNATURE); in create_srq_user() 83 srq in create_srq_user() 131 create_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq, struct mlx5_srq_attr *in, int buf_size) create_srq_kernel() argument 197 destroy_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq, struct ib_udata *udata) destroy_srq_user() argument 210 destroy_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq) destroy_srq_kernel() argument 222 struct mlx5_ib_srq *srq = to_msrq(ib_srq); mlx5_ib_create_srq() local 346 struct mlx5_ib_srq *srq = to_msrq(ibsrq); mlx5_ib_modify_srq() local 371 struct mlx5_ib_srq *srq = to_msrq(ibsrq); mlx5_ib_query_srq() local 392 mlx5_ib_destroy_srq(struct ib_srq *srq, struct ib_udata *udata) mlx5_ib_destroy_srq() argument 409 mlx5_ib_free_srq_wqe(struct mlx5_ib_srq *srq, int wqe_index) mlx5_ib_free_srq_wqe() argument 426 struct mlx5_ib_srq *srq = to_msrq(ibsrq); mlx5_ib_post_srq_recv() local [all...] |
H A D | srq_cmd.c | 9 #include "srq.h" 84 struct mlx5_core_srq *srq; in mlx5_cmd_get_srq() local 87 srq = xa_load(&table->array, srqn); in mlx5_cmd_get_srq() 88 if (srq) in mlx5_cmd_get_srq() 89 refcount_inc(&srq->common.refcount); in mlx5_cmd_get_srq() 92 return srq; in mlx5_cmd_get_srq() 95 static int create_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, in create_srq_cmd() argument 126 srq->srqn = MLX5_GET(create_srq_out, create_out, srqn); in create_srq_cmd() 127 srq->uid = in->uid; in create_srq_cmd() 133 static int destroy_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) in destroy_srq_cmd() argument 144 arm_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm, int is_srq) arm_srq_cmd() argument 158 query_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_srq_cmd() argument 185 create_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_xrc_srq_cmd() argument 227 destroy_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_xrc_srq_cmd() argument 239 arm_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm) arm_xrc_srq_cmd() argument 254 query_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_xrc_srq_cmd() argument 285 create_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_rmp_cmd() argument 328 destroy_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_rmp_cmd() argument 338 arm_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm) arm_rmp_cmd() argument 380 query_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_rmp_cmd() argument 417 create_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_xrq_cmd() argument 463 destroy_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_xrq_cmd() argument 474 arm_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm) arm_xrq_cmd() argument 489 query_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_xrq_cmd() argument 528 create_srq_split(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_srq_split() argument 543 destroy_srq_split(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_srq_split() argument 557 mlx5_cmd_create_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) mlx5_cmd_create_srq() argument 593 mlx5_cmd_destroy_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) mlx5_cmd_destroy_srq() argument 621 mlx5_cmd_query_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) mlx5_cmd_query_srq() argument 636 mlx5_cmd_arm_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm, int is_srq) mlx5_cmd_arm_srq() argument 655 struct mlx5_core_srq *srq; srq_event_notifier() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mlx5/ |
H A D | srq.c | 11 #include "srq.h" 13 static void *get_wqe(struct mlx5_ib_srq *srq, int n) in get_wqe() argument 15 return mlx5_frag_buf_get_wqe(&srq->fbc, n); in get_wqe() 18 static void mlx5_ib_srq_event(struct mlx5_core_srq *srq, enum mlx5_event type) in mlx5_ib_srq_event() argument 21 struct ib_srq *ibsrq = &to_mibsrq(srq)->ibsrq; in mlx5_ib_srq_event() 25 event.element.srq = ibsrq; in mlx5_ib_srq_event() 35 type, srq->srqn); in mlx5_ib_srq_event() 43 static int create_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq, in create_srq_user() argument 76 srq->wq_sig = !!(ucmd.flags & MLX5_SRQ_FLAG_SIGNATURE); in create_srq_user() 78 srq in create_srq_user() 105 create_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq, struct mlx5_srq_attr *in, int buf_size) create_srq_kernel() argument 171 destroy_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq, struct ib_udata *udata) destroy_srq_user() argument 184 destroy_srq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_srq *srq) destroy_srq_kernel() argument 196 struct mlx5_ib_srq *srq = to_msrq(ib_srq); mlx5_ib_create_srq() local 325 struct mlx5_ib_srq *srq = to_msrq(ibsrq); mlx5_ib_modify_srq() local 350 struct mlx5_ib_srq *srq = to_msrq(ibsrq); mlx5_ib_query_srq() local 371 mlx5_ib_destroy_srq(struct ib_srq *srq, struct ib_udata *udata) mlx5_ib_destroy_srq() argument 388 mlx5_ib_free_srq_wqe(struct mlx5_ib_srq *srq, int wqe_index) mlx5_ib_free_srq_wqe() argument 405 struct mlx5_ib_srq *srq = to_msrq(ibsrq); mlx5_ib_post_srq_recv() local [all...] |
H A D | srq_cmd.c | 9 #include "srq.h" 84 struct mlx5_core_srq *srq; in mlx5_cmd_get_srq() local 87 srq = xa_load(&table->array, srqn); in mlx5_cmd_get_srq() 88 if (srq) in mlx5_cmd_get_srq() 89 refcount_inc(&srq->common.refcount); in mlx5_cmd_get_srq() 92 return srq; in mlx5_cmd_get_srq() 114 static int create_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, in create_srq_cmd() argument 157 srq->srqn = MLX5_GET(create_srq_out, create_out, srqn); in create_srq_cmd() 158 srq->uid = in->uid; in create_srq_cmd() 164 static int destroy_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) in destroy_srq_cmd() argument 175 arm_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm, int is_srq) arm_srq_cmd() argument 189 query_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_srq_cmd() argument 216 create_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_xrc_srq_cmd() argument 270 destroy_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_xrc_srq_cmd() argument 282 arm_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm) arm_xrc_srq_cmd() argument 297 query_xrc_srq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_xrc_srq_cmd() argument 328 create_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_rmp_cmd() argument 386 destroy_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_rmp_cmd() argument 396 arm_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm) arm_rmp_cmd() argument 438 query_rmp_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_rmp_cmd() argument 475 create_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_xrq_cmd() argument 535 destroy_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_xrq_cmd() argument 546 arm_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm) arm_xrq_cmd() argument 561 query_xrq_cmd(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) query_xrq_cmd() argument 600 create_srq_split(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) create_srq_split() argument 615 destroy_srq_split(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) destroy_srq_split() argument 629 mlx5_cmd_create_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *in) mlx5_cmd_create_srq() argument 665 mlx5_cmd_destroy_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq) mlx5_cmd_destroy_srq() argument 693 mlx5_cmd_query_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, struct mlx5_srq_attr *out) mlx5_cmd_query_srq() argument 708 mlx5_cmd_arm_srq(struct mlx5_ib_dev *dev, struct mlx5_core_srq *srq, u16 lwm, int is_srq) mlx5_cmd_arm_srq() argument 727 struct mlx5_core_srq *srq; srq_event_notifier() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/hns/ |
H A D | hns_roce_srq.c | 15 struct hns_roce_srq *srq; in hns_roce_srq_event() local 18 srq = xa_load(&srq_table->xa, srqn & (hr_dev->caps.num_srqs - 1)); in hns_roce_srq_event() 19 if (srq) in hns_roce_srq_event() 20 refcount_inc(&srq->refcount); in hns_roce_srq_event() 23 if (!srq) { in hns_roce_srq_event() 28 srq->event(srq, event_type); in hns_roce_srq_event() 30 if (refcount_dec_and_test(&srq->refcount)) in hns_roce_srq_event() 31 complete(&srq->free); in hns_roce_srq_event() 34 static void hns_roce_ib_srq_event(struct hns_roce_srq *srq, in hns_roce_ib_srq_event() argument 62 alloc_srqn(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) alloc_srqn() argument 79 free_srqn(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srqn() argument 84 hns_roce_create_srqc(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) hns_roce_create_srqc() argument 113 alloc_srqc(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) alloc_srqc() argument 145 free_srqc(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srqc() argument 165 alloc_srq_idx(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq, struct ib_udata *udata, unsigned long addr) alloc_srq_idx() argument 209 free_srq_idx(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srq_idx() argument 218 alloc_srq_wqe_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq, struct ib_udata *udata, unsigned long addr) alloc_srq_wqe_buf() argument 246 free_srq_wqe_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srq_wqe_buf() argument 252 alloc_srq_wrid(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) alloc_srq_wrid() argument 261 free_srq_wrid(struct hns_roce_srq *srq) free_srq_wrid() argument 289 set_srq_basic_param(struct hns_roce_srq *srq, struct ib_srq_init_attr *init_attr, struct ib_udata *udata) set_srq_basic_param() argument 317 set_srq_ext_param(struct hns_roce_srq *srq, struct ib_srq_init_attr *init_attr) set_srq_ext_param() argument 327 set_srq_param(struct hns_roce_srq *srq, struct ib_srq_init_attr *init_attr, struct ib_udata *udata) set_srq_param() argument 342 alloc_srq_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq, struct ib_udata *udata) alloc_srq_buf() argument 383 free_srq_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srq_buf() argument 396 struct hns_roce_srq *srq = to_hr_srq(ib_srq); hns_roce_create_srq() local 447 struct hns_roce_srq *srq = to_hr_srq(ibsrq); hns_roce_destroy_srq() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/mlx4/ |
H A D | srq.c | 35 #include <linux/mlx4/srq.h> 42 static void *get_wqe(struct mlx4_ib_srq *srq, int n) in get_wqe() argument 44 return mlx4_buf_offset(&srq->buf, n << srq->msrq.wqe_shift); in get_wqe() 47 static void mlx4_ib_srq_event(struct mlx4_srq *srq, enum mlx4_event type) in mlx4_ib_srq_event() argument 50 struct ib_srq *ibsrq = &to_mibsrq(srq)->ibsrq; in mlx4_ib_srq_event() 54 event.element.srq = ibsrq; in mlx4_ib_srq_event() 64 "on SRQ %06x\n", type, srq->srqn); in mlx4_ib_srq_event() 79 struct mlx4_ib_srq *srq = to_msrq(ib_srq); in mlx4_ib_create_srq() local 94 mutex_init(&srq in mlx4_ib_create_srq() 224 struct mlx4_ib_srq *srq = to_msrq(ibsrq); mlx4_ib_modify_srq() local 249 struct mlx4_ib_srq *srq = to_msrq(ibsrq); mlx4_ib_query_srq() local 264 mlx4_ib_destroy_srq(struct ib_srq *srq, struct ib_udata *udata) mlx4_ib_destroy_srq() argument 289 mlx4_ib_free_srq_wqe(struct mlx4_ib_srq *srq, int wqe_index) mlx4_ib_free_srq_wqe() argument 306 struct mlx4_ib_srq *srq = to_msrq(ibsrq); mlx4_ib_post_srq_recv() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mlx4/ |
H A D | srq.c | 35 #include <linux/mlx4/srq.h> 42 static void *get_wqe(struct mlx4_ib_srq *srq, int n) in get_wqe() argument 44 return mlx4_buf_offset(&srq->buf, n << srq->msrq.wqe_shift); in get_wqe() 47 static void mlx4_ib_srq_event(struct mlx4_srq *srq, enum mlx4_event type) in mlx4_ib_srq_event() argument 50 struct ib_srq *ibsrq = &to_mibsrq(srq)->ibsrq; in mlx4_ib_srq_event() 54 event.element.srq = ibsrq; in mlx4_ib_srq_event() 64 "on SRQ %06x\n", type, srq->srqn); in mlx4_ib_srq_event() 79 struct mlx4_ib_srq *srq = to_msrq(ib_srq); in mlx4_ib_create_srq() local 98 mutex_init(&srq in mlx4_ib_create_srq() 228 struct mlx4_ib_srq *srq = to_msrq(ibsrq); mlx4_ib_modify_srq() local 253 struct mlx4_ib_srq *srq = to_msrq(ibsrq); mlx4_ib_query_srq() local 268 mlx4_ib_destroy_srq(struct ib_srq *srq, struct ib_udata *udata) mlx4_ib_destroy_srq() argument 293 mlx4_ib_free_srq_wqe(struct mlx4_ib_srq *srq, int wqe_index) mlx4_ib_free_srq_wqe() argument 310 struct mlx4_ib_srq *srq = to_msrq(ibsrq); mlx4_ib_post_srq_recv() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/hns/ |
H A D | hns_roce_srq.c | 15 struct hns_roce_srq *srq; in hns_roce_srq_event() local 18 srq = xa_load(&srq_table->xa, srqn & (hr_dev->caps.num_srqs - 1)); in hns_roce_srq_event() 19 if (srq) in hns_roce_srq_event() 20 atomic_inc(&srq->refcount); in hns_roce_srq_event() 23 if (!srq) { in hns_roce_srq_event() 28 srq->event(srq, event_type); in hns_roce_srq_event() 30 if (atomic_dec_and_test(&srq->refcount)) in hns_roce_srq_event() 31 complete(&srq->free); in hns_roce_srq_event() 34 static void hns_roce_ib_srq_event(struct hns_roce_srq *srq, in hns_roce_ib_srq_event() argument 80 alloc_srqc(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq, u32 pdn, u32 cqn, u16 xrcd, u64 db_rec_addr) alloc_srqc() argument 162 free_srqc(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srqc() argument 182 alloc_srq_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq, struct ib_udata *udata, unsigned long addr) alloc_srq_buf() argument 210 free_srq_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srq_buf() argument 215 alloc_srq_idx(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq, struct ib_udata *udata, unsigned long addr) alloc_srq_idx() argument 257 free_srq_idx(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) free_srq_idx() argument 266 alloc_srq_wrid(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq) alloc_srq_wrid() argument 277 free_srq_wrid(struct hns_roce_srq *srq) free_srq_wrid() argument 289 struct hns_roce_srq *srq = to_hr_srq(ib_srq); hns_roce_create_srq() local 375 struct hns_roce_srq *srq = to_hr_srq(ibsrq); hns_roce_destroy_srq() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/sw/rxe/ |
H A D | rxe_srq.c | 44 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_from_init() argument 52 srq->ibsrq.event_handler = init->event_handler; in rxe_srq_from_init() 53 srq->ibsrq.srq_context = init->srq_context; in rxe_srq_from_init() 54 srq->limit = init->attr.srq_limit; in rxe_srq_from_init() 55 srq->srq_num = srq->elem.index; in rxe_srq_from_init() 56 srq->rq.max_wr = init->attr.max_wr; in rxe_srq_from_init() 57 srq->rq.max_sge = init->attr.max_sge; in rxe_srq_from_init() 60 srq->rq.max_sge*sizeof(struct ib_sge); in rxe_srq_from_init() 62 spin_lock_init(&srq in rxe_srq_from_init() 100 rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, struct ib_srq_attr *attr, enum ib_srq_attr_mask mask) rxe_srq_chk_attr() argument 151 rxe_srq_from_attr(struct rxe_dev *rxe, struct rxe_srq *srq, struct ib_srq_attr *attr, enum ib_srq_attr_mask mask, struct rxe_modify_srq_cmd *ucmd, struct ib_udata *udata) rxe_srq_from_attr() argument 192 struct rxe_srq *srq = container_of(elem, typeof(*srq), elem); rxe_srq_cleanup() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/sw/rdmavt/ |
H A D | srq.c | 53 #include "srq.h" 57 * rvt_driver_srq_init - init srq resources on a per driver basis 80 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); in rvt_create_srq() local 96 srq->rq.size = srq_init_attr->attr.max_wr + 1; in rvt_create_srq() 97 srq->rq.max_sge = srq_init_attr->attr.max_sge; in rvt_create_srq() 98 sz = sizeof(struct ib_sge) * srq->rq.max_sge + in rvt_create_srq() 100 if (rvt_alloc_rq(&srq->rq, srq->rq.size * sz, in rvt_create_srq() 111 u32 s = sizeof(struct rvt_rwq) + srq->rq.size * sz; in rvt_create_srq() 113 srq in rvt_create_srq() 170 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); rvt_modify_srq() local 322 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); rvt_query_srq() local 337 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); rvt_destroy_srq() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/sw/rdmavt/ |
H A D | srq.c | 11 #include "srq.h" 15 * rvt_driver_srq_init - init srq resources on a per driver basis 38 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); in rvt_create_srq() local 54 srq->rq.size = srq_init_attr->attr.max_wr + 1; in rvt_create_srq() 55 srq->rq.max_sge = srq_init_attr->attr.max_sge; in rvt_create_srq() 56 sz = sizeof(struct ib_sge) * srq->rq.max_sge + in rvt_create_srq() 58 if (rvt_alloc_rq(&srq->rq, srq->rq.size * sz, in rvt_create_srq() 69 u32 s = sizeof(struct rvt_rwq) + srq->rq.size * sz; in rvt_create_srq() 71 srq in rvt_create_srq() 128 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); rvt_modify_srq() local 281 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); rvt_query_srq() local 296 struct rvt_srq *srq = ibsrq_to_rvtsrq(ibsrq); rvt_destroy_srq() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/sw/rxe/ |
H A D | rxe_srq.c | 12 int rxe_srq_chk_attr(struct rxe_dev *rxe, struct rxe_srq *srq, in rxe_srq_chk_attr() argument 15 if (srq && srq->error) { in rxe_srq_chk_attr() 16 pr_warn("srq in error state\n"); in rxe_srq_chk_attr() 32 if (srq && srq->limit && (attr->max_wr < srq->limit)) { in rxe_srq_chk_attr() 33 pr_warn("max_wr (%d) < srq->limit (%d)\n", in rxe_srq_chk_attr() 34 attr->max_wr, srq->limit); in rxe_srq_chk_attr() 49 if (srq in rxe_srq_chk_attr() 74 rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq, struct ib_srq_init_attr *init, struct ib_udata *udata, struct rxe_create_srq_resp __user *uresp) rxe_srq_from_init() argument 122 rxe_srq_from_attr(struct rxe_dev *rxe, struct rxe_srq *srq, struct ib_srq_attr *attr, enum ib_srq_attr_mask mask, struct rxe_modify_srq_cmd *ucmd, struct ib_udata *udata) rxe_srq_from_attr() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/ |
H A D | srq.c | 36 #include <linux/mlx4/srq.h> 46 struct mlx4_srq *srq; in mlx4_srq_event() local 49 srq = radix_tree_lookup(&srq_table->tree, srqn & (dev->caps.num_srqs - 1)); in mlx4_srq_event() 51 if (srq) in mlx4_srq_event() 52 refcount_inc(&srq->refcount); in mlx4_srq_event() 58 srq->event(srq, event_type); in mlx4_srq_event() 60 if (refcount_dec_and_test(&srq->refcount)) in mlx4_srq_event() 61 complete(&srq->free); in mlx4_srq_event() 163 struct mlx4_mtt *mtt, u64 db_rec, struct mlx4_srq *srq) in mlx4_srq_alloc() 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) mlx4_srq_alloc() argument 222 mlx4_srq_free(struct mlx4_dev *dev, struct mlx4_srq *srq) mlx4_srq_free() argument 243 mlx4_srq_arm(struct mlx4_dev *dev, struct mlx4_srq *srq, int limit_watermark) mlx4_srq_arm() argument 249 mlx4_srq_query(struct mlx4_dev *dev, struct mlx4_srq *srq, int *limit_watermark) mlx4_srq_query() argument 300 struct mlx4_srq *srq; mlx4_srq_lookup() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx4/ |
H A D | srq.c | 36 #include <linux/mlx4/srq.h> 46 struct mlx4_srq *srq; in mlx4_srq_event() local 49 srq = radix_tree_lookup(&srq_table->tree, srqn & (dev->caps.num_srqs - 1)); in mlx4_srq_event() 51 if (srq) in mlx4_srq_event() 52 refcount_inc(&srq->refcount); in mlx4_srq_event() 58 srq->event(srq, event_type); in mlx4_srq_event() 60 if (refcount_dec_and_test(&srq->refcount)) in mlx4_srq_event() 61 complete(&srq->free); in mlx4_srq_event() 163 struct mlx4_mtt *mtt, u64 db_rec, struct mlx4_srq *srq) in mlx4_srq_alloc() 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) mlx4_srq_alloc() argument 222 mlx4_srq_free(struct mlx4_dev *dev, struct mlx4_srq *srq) mlx4_srq_free() argument 243 mlx4_srq_arm(struct mlx4_dev *dev, struct mlx4_srq *srq, int limit_watermark) mlx4_srq_arm() argument 249 mlx4_srq_query(struct mlx4_dev *dev, struct mlx4_srq *srq, int *limit_watermark) mlx4_srq_query() argument 295 struct mlx4_srq *srq; mlx4_srq_lookup() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/vmw_pvrdma/ |
H A D | pvrdma_srq.c | 65 struct pvrdma_srq *srq = to_vsrq(ibsrq); in pvrdma_query_srq() local 74 cmd->srq_handle = srq->srq_handle; in pvrdma_query_srq() 102 struct pvrdma_srq *srq = to_vsrq(ibsrq); in pvrdma_create_srq() local 137 spin_lock_init(&srq->lock); in pvrdma_create_srq() 138 refcount_set(&srq->refcnt, 1); in pvrdma_create_srq() 139 init_completion(&srq->free); in pvrdma_create_srq() 149 srq->umem = ib_umem_get(ibsrq->device, ucmd.buf_addr, ucmd.buf_size, 0); in pvrdma_create_srq() 150 if (IS_ERR(srq->umem)) { in pvrdma_create_srq() 151 ret = PTR_ERR(srq->umem); in pvrdma_create_srq() 155 srq in pvrdma_create_srq() 216 pvrdma_free_srq(struct pvrdma_dev *dev, struct pvrdma_srq *srq) pvrdma_free_srq() argument 243 pvrdma_destroy_srq(struct ib_srq *srq, struct ib_udata *udata) pvrdma_destroy_srq() argument [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/vmw_pvrdma/ |
H A D | pvrdma_srq.c | 65 struct pvrdma_srq *srq = to_vsrq(ibsrq); in pvrdma_query_srq() local 74 cmd->srq_handle = srq->srq_handle; in pvrdma_query_srq() 102 struct pvrdma_srq *srq = to_vsrq(ibsrq); in pvrdma_create_srq() local 137 spin_lock_init(&srq->lock); in pvrdma_create_srq() 138 refcount_set(&srq->refcnt, 1); in pvrdma_create_srq() 139 init_completion(&srq->free); in pvrdma_create_srq() 149 srq->umem = ib_umem_get(ibsrq->device, ucmd.buf_addr, ucmd.buf_size, 0); in pvrdma_create_srq() 150 if (IS_ERR(srq->umem)) { in pvrdma_create_srq() 151 ret = PTR_ERR(srq->umem); in pvrdma_create_srq() 155 srq in pvrdma_create_srq() 216 pvrdma_free_srq(struct pvrdma_dev *dev, struct pvrdma_srq *srq) pvrdma_free_srq() argument 243 pvrdma_destroy_srq(struct ib_srq *srq, struct ib_udata *udata) pvrdma_destroy_srq() argument [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/cxgb4/ |
H A D | t4.h | 425 static inline u32 t4_srq_avail(struct t4_srq *srq) in t4_srq_avail() argument 427 return srq->size - 1 - srq->in_use; in t4_srq_avail() 430 static inline void t4_srq_produce(struct t4_srq *srq, u8 len16) in t4_srq_produce() argument 432 srq->in_use++; in t4_srq_produce() 433 if (++srq->pidx == srq->size) in t4_srq_produce() 434 srq->pidx = 0; in t4_srq_produce() 435 srq->wq_pidx += DIV_ROUND_UP(len16 * 16, T4_EQ_ENTRY_SIZE); in t4_srq_produce() 436 if (srq in t4_srq_produce() 441 t4_srq_produce_pending_wr(struct t4_srq *srq) t4_srq_produce_pending_wr() argument 449 t4_srq_consume_pending_wr(struct t4_srq *srq) t4_srq_consume_pending_wr() argument 457 t4_srq_produce_ooo(struct t4_srq *srq) t4_srq_produce_ooo() argument 463 t4_srq_consume_ooo(struct t4_srq *srq) t4_srq_consume_ooo() argument 472 t4_srq_consume(struct t4_srq *srq) t4_srq_consume() argument 592 t4_ring_srq_db(struct t4_srq *srq, u16 inc, u8 len16, union t4_recv_wr *wqe) t4_ring_srq_db() argument [all...] |
H A D | cq.c | 462 static void post_pending_srq_wrs(struct t4_srq *srq) in post_pending_srq_wrs() argument 467 while (srq->pending_in_use) { in post_pending_srq_wrs() 468 pwr = &srq->pending_wrs[srq->pending_cidx]; in post_pending_srq_wrs() 469 srq->sw_rq[srq->pidx].wr_id = pwr->wr_id; in post_pending_srq_wrs() 470 srq->sw_rq[srq->pidx].valid = 1; in post_pending_srq_wrs() 474 srq->cidx, srq in post_pending_srq_wrs() 491 reap_srq_cqe(struct t4_cqe *hw_cqe, struct t4_srq *srq) reap_srq_cqe() argument 544 poll_cq(struct t4_wq *wq, struct t4_cq *cq, struct t4_cqe *cqe, u8 *cqe_flushed, u64 *cookie, u32 *credit, struct t4_srq *srq) poll_cq() argument 754 __c4iw_poll_cq_one(struct c4iw_cq *chp, struct c4iw_qp *qhp, struct ib_wc *wc, struct c4iw_srq *srq) __c4iw_poll_cq_one() argument 923 struct c4iw_srq *srq = NULL; c4iw_poll_cq_one() local [all...] |
H A D | qp.c | 1341 static void defer_srq_wr(struct t4_srq *srq, union t4_recv_wr *wqe, in defer_srq_wr() argument 1344 struct t4_srq_pending_wr *pwr = &srq->pending_wrs[srq->pending_pidx]; in defer_srq_wr() 1347 __func__, srq->cidx, srq->pidx, srq->wq_pidx, in defer_srq_wr() 1348 srq->in_use, srq->ooo_count, in defer_srq_wr() 1349 (unsigned long long)wr_id, srq->pending_cidx, in defer_srq_wr() 1350 srq in defer_srq_wr() 1361 struct c4iw_srq *srq; c4iw_post_srq_recv() local 2425 c4iw_dispatch_srq_limit_reached_event(struct c4iw_srq *srq) c4iw_dispatch_srq_limit_reached_event() argument 2439 struct c4iw_srq *srq = to_c4iw_srq(ib_srq); c4iw_modify_srq() local 2482 free_srq_queue(struct c4iw_srq *srq, struct c4iw_dev_ucontext *uctx, struct c4iw_wr_wait *wr_waitp) free_srq_queue() argument 2519 alloc_srq_queue(struct c4iw_srq *srq, struct c4iw_dev_ucontext *uctx, struct c4iw_wr_wait *wr_waitp) alloc_srq_queue() argument 2654 c4iw_copy_wr_to_srq(struct t4_srq *srq, union t4_recv_wr *wqe, u8 len16) c4iw_copy_wr_to_srq() argument 2676 struct c4iw_srq *srq = to_c4iw_srq(ib_srq); c4iw_create_srq() local 2805 struct c4iw_srq *srq; c4iw_destroy_srq() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/cxgb4/ |
H A D | t4.h | 425 static inline u32 t4_srq_avail(struct t4_srq *srq) in t4_srq_avail() argument 427 return srq->size - 1 - srq->in_use; in t4_srq_avail() 430 static inline void t4_srq_produce(struct t4_srq *srq, u8 len16) in t4_srq_produce() argument 432 srq->in_use++; in t4_srq_produce() 433 if (++srq->pidx == srq->size) in t4_srq_produce() 434 srq->pidx = 0; in t4_srq_produce() 435 srq->wq_pidx += DIV_ROUND_UP(len16 * 16, T4_EQ_ENTRY_SIZE); in t4_srq_produce() 436 if (srq in t4_srq_produce() 441 t4_srq_produce_pending_wr(struct t4_srq *srq) t4_srq_produce_pending_wr() argument 449 t4_srq_consume_pending_wr(struct t4_srq *srq) t4_srq_consume_pending_wr() argument 457 t4_srq_produce_ooo(struct t4_srq *srq) t4_srq_produce_ooo() argument 463 t4_srq_consume_ooo(struct t4_srq *srq) t4_srq_consume_ooo() argument 472 t4_srq_consume(struct t4_srq *srq) t4_srq_consume() argument 582 t4_ring_srq_db(struct t4_srq *srq, u16 inc, u8 len16, union t4_recv_wr *wqe) t4_ring_srq_db() argument [all...] |
H A D | cq.c | 462 static void post_pending_srq_wrs(struct t4_srq *srq) in post_pending_srq_wrs() argument 467 while (srq->pending_in_use) { in post_pending_srq_wrs() 468 pwr = &srq->pending_wrs[srq->pending_cidx]; in post_pending_srq_wrs() 469 srq->sw_rq[srq->pidx].wr_id = pwr->wr_id; in post_pending_srq_wrs() 470 srq->sw_rq[srq->pidx].valid = 1; in post_pending_srq_wrs() 474 srq->cidx, srq in post_pending_srq_wrs() 491 reap_srq_cqe(struct t4_cqe *hw_cqe, struct t4_srq *srq) reap_srq_cqe() argument 544 poll_cq(struct t4_wq *wq, struct t4_cq *cq, struct t4_cqe *cqe, u8 *cqe_flushed, u64 *cookie, u32 *credit, struct t4_srq *srq) poll_cq() argument 754 __c4iw_poll_cq_one(struct c4iw_cq *chp, struct c4iw_qp *qhp, struct ib_wc *wc, struct c4iw_srq *srq) __c4iw_poll_cq_one() argument 923 struct c4iw_srq *srq = NULL; c4iw_poll_cq_one() local [all...] |
H A D | qp.c | 1341 static void defer_srq_wr(struct t4_srq *srq, union t4_recv_wr *wqe, in defer_srq_wr() argument 1344 struct t4_srq_pending_wr *pwr = &srq->pending_wrs[srq->pending_pidx]; in defer_srq_wr() 1347 __func__, srq->cidx, srq->pidx, srq->wq_pidx, in defer_srq_wr() 1348 srq->in_use, srq->ooo_count, in defer_srq_wr() 1349 (unsigned long long)wr_id, srq->pending_cidx, in defer_srq_wr() 1350 srq in defer_srq_wr() 1361 struct c4iw_srq *srq; c4iw_post_srq_recv() local 2416 c4iw_dispatch_srq_limit_reached_event(struct c4iw_srq *srq) c4iw_dispatch_srq_limit_reached_event() argument 2430 struct c4iw_srq *srq = to_c4iw_srq(ib_srq); c4iw_modify_srq() local 2473 free_srq_queue(struct c4iw_srq *srq, struct c4iw_dev_ucontext *uctx, struct c4iw_wr_wait *wr_waitp) free_srq_queue() argument 2510 alloc_srq_queue(struct c4iw_srq *srq, struct c4iw_dev_ucontext *uctx, struct c4iw_wr_wait *wr_waitp) alloc_srq_queue() argument 2645 c4iw_copy_wr_to_srq(struct t4_srq *srq, union t4_recv_wr *wqe, u8 len16) c4iw_copy_wr_to_srq() argument 2667 struct c4iw_srq *srq = to_c4iw_srq(ib_srq); c4iw_create_srq() local 2799 struct c4iw_srq *srq; c4iw_destroy_srq() local [all...] |
/kernel/liteos_a/kernel/base/core/ |
H A D | los_swtmr.c | 185 STATIC INLINE VOID SwtmrWake(SwtmrRunqueue *srq, UINT64 startTime, SortLinkList *sortList) in SwtmrWake() argument 197 LOS_ListTailInsert(&srq->swtmrHandlerQueue, &swtmrHandler->node); in SwtmrWake() 219 STATIC INLINE VOID ScanSwtmrTimeList(SwtmrRunqueue *srq) in ScanSwtmrTimeList() argument 222 SortLinkAttribute *swtmrSortLink = &srq->swtmrSortLink; in ScanSwtmrTimeList() 244 SwtmrWake(srq, startTime, sortList); in ScanSwtmrTimeList() 264 SwtmrRunqueue *srq = &g_swtmrRunqueue[ArchCurrCpuid()]; in SwtmrTask() local 265 LOS_DL_LIST *head = &srq->swtmrHandlerQueue; in SwtmrTask() 267 waitTime = OsSortLinkGetNextExpireTime(OsGetCurrSchedTimeCycle(), &srq->swtmrSortLink); in SwtmrTask() 270 srq->swtmrTask->ops->delay(srq in SwtmrTask() 361 SwtmrRunqueue *srq = &g_swtmrRunqueue[index]; SwtmrBaseInit() local 392 SwtmrRunqueue *srq = &g_swtmrRunqueue[cpuid]; OsSwtmrInit() local 412 SwtmrRunqueue *srq = &g_swtmrRunqueue[cpuid]; FindIdleSwtmrRunqueue() local 425 SwtmrRunqueue *srq = &g_swtmrRunqueue[cpuid]; AddSwtmr2TimeList() local 436 SwtmrRunqueue *srq = &g_swtmrRunqueue[cpuid]; DeSwtmrFromTimeList() local 445 SwtmrRunqueue *srq = &g_swtmrRunqueue[cpuid]; SwtmrAdjustCheck() local 611 SwtmrRunqueue *srq = &g_swtmrRunqueue[ArchCurrCpuid()]; OsSwtmrGetNextTimeout() local [all...] |