Home
last modified time | relevance | path

Searched refs:srq (Results 1 - 25 of 222) sorted by relevance

123456789

/kernel/linux/linux-5.10/drivers/infiniband/hw/mthca/
H A Dmthca_srq.c74 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 Dmthca_srq.c74 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 Dsrq.c12 #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 Dsrq_cmd.c9 #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 Dsrq.c11 #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 Dsrq_cmd.c9 #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 Dhns_roce_srq.c15 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 Dsrq.c35 #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 Dsrq.c35 #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 Dhns_roce_srq.c15 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 Drxe_srq.c44 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 Dsrq.c53 #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 Dsrq.c11 #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 Drxe_srq.c12 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 Dsrq.c36 #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 Dsrq.c36 #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 Dpvrdma_srq.c65 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 Dpvrdma_srq.c65 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 Dt4.h425 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 Dcq.c462 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 Dqp.c1341 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 Dt4.h425 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 Dcq.c462 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 Dqp.c1341 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 Dlos_swtmr.c185 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...]

Completed in 19 milliseconds

123456789