Searched refs:srqn (Results 1 - 31 of 31) sorted by relevance

/linux-4.4.14/drivers/net/ethernet/mellanox/mlx4/
H A Dsrq.c43 void mlx4_srq_event(struct mlx4_dev *dev, u32 srqn, int event_type) mlx4_srq_event() argument
50 srq = radix_tree_lookup(&srq_table->tree, srqn & (dev->caps.num_srqs - 1)); mlx4_srq_event()
57 mlx4_warn(dev, "Async event for bogus SRQ %08x\n", srqn); mlx4_srq_event()
96 int __mlx4_srq_alloc_icm(struct mlx4_dev *dev, int *srqn) __mlx4_srq_alloc_icm() argument
102 *srqn = mlx4_bitmap_alloc(&srq_table->bitmap); __mlx4_srq_alloc_icm()
103 if (*srqn == -1) __mlx4_srq_alloc_icm()
106 err = mlx4_table_get(dev, &srq_table->table, *srqn, GFP_KERNEL); __mlx4_srq_alloc_icm()
110 err = mlx4_table_get(dev, &srq_table->cmpt_table, *srqn, GFP_KERNEL); __mlx4_srq_alloc_icm()
116 mlx4_table_put(dev, &srq_table->table, *srqn); __mlx4_srq_alloc_icm()
119 mlx4_bitmap_free(&srq_table->bitmap, *srqn, MLX4_NO_RR); __mlx4_srq_alloc_icm()
123 static int mlx4_srq_alloc_icm(struct mlx4_dev *dev, int *srqn) mlx4_srq_alloc_icm() argument
134 *srqn = get_param_l(&out_param); mlx4_srq_alloc_icm()
138 return __mlx4_srq_alloc_icm(dev, srqn); mlx4_srq_alloc_icm()
141 void __mlx4_srq_free_icm(struct mlx4_dev *dev, int srqn) __mlx4_srq_free_icm() argument
145 mlx4_table_put(dev, &srq_table->cmpt_table, srqn); __mlx4_srq_free_icm()
146 mlx4_table_put(dev, &srq_table->table, srqn); __mlx4_srq_free_icm()
147 mlx4_bitmap_free(&srq_table->bitmap, srqn, MLX4_NO_RR); __mlx4_srq_free_icm()
150 static void mlx4_srq_free_icm(struct mlx4_dev *dev, int srqn) mlx4_srq_free_icm() argument
155 set_param_l(&in_param, srqn); mlx4_srq_free_icm()
159 mlx4_warn(dev, "Failed freeing cq:%d\n", srqn); mlx4_srq_free_icm()
162 __mlx4_srq_free_icm(dev, srqn); mlx4_srq_free_icm()
174 err = mlx4_srq_alloc_icm(dev, &srq->srqn); mlx4_srq_alloc()
179 err = radix_tree_insert(&srq_table->tree, srq->srqn, srq); mlx4_srq_alloc()
192 srq->srqn); mlx4_srq_alloc()
204 err = mlx4_SW2HW_SRQ(dev, mailbox, srq->srqn); mlx4_srq_alloc()
216 radix_tree_delete(&srq_table->tree, srq->srqn); mlx4_srq_alloc()
220 mlx4_srq_free_icm(dev, srq->srqn); mlx4_srq_alloc()
230 err = mlx4_HW2SW_SRQ(dev, NULL, srq->srqn); mlx4_srq_free()
232 mlx4_warn(dev, "HW2SW_SRQ failed (%d) for SRQN %06x\n", err, srq->srqn); mlx4_srq_free()
235 radix_tree_delete(&srq_table->tree, srq->srqn); mlx4_srq_free()
242 mlx4_srq_free_icm(dev, srq->srqn); mlx4_srq_free()
248 return mlx4_ARM_SRQ(dev, srq->srqn, limit_watermark); mlx4_srq_arm()
264 err = mlx4_QUERY_SRQ(dev, mailbox, srq->srqn); mlx4_srq_query()
300 struct mlx4_srq *mlx4_srq_lookup(struct mlx4_dev *dev, u32 srqn) mlx4_srq_lookup() argument
308 srqn & (dev->caps.num_srqs - 1)); mlx4_srq_lookup()
H A Dresource_tracker.c1895 int srqn; srq_alloc_res() local
1904 err = __mlx4_srq_alloc_icm(dev, &srqn); srq_alloc_res()
1910 err = add_res_range(dev, slave, srqn, 1, RES_SRQ, 0); srq_alloc_res()
1913 __mlx4_srq_free_icm(dev, srqn); srq_alloc_res()
1917 set_param_l(out_param, srqn); srq_alloc_res()
2412 int srqn; srq_free_res() local
2417 srqn = get_param_l(&in_param); srq_free_res()
2418 err = rem_res_range(dev, slave, srqn, 1, RES_SRQ, 0); srq_free_res()
2423 __mlx4_srq_free_icm(dev, srqn); srq_free_res()
2646 int srq = (be32_to_cpu(qpc->srqn) >> 24) & 1; qp_get_mtt_size()
2854 return be32_to_cpu(qpc->srqn) & 0x1ffffff; qp_get_srqn()
2891 u32 srqn = qp_get_srqn(qpc) & 0xffffff; mlx4_RST2INIT_QP_wrapper() local
2933 err = get_res(dev, slave, srqn, RES_SRQ, &srq); mlx4_RST2INIT_QP_wrapper()
2955 put_res(dev, slave, srqn, RES_SRQ); mlx4_RST2INIT_QP_wrapper()
2966 put_res(dev, slave, srqn, RES_SRQ); mlx4_RST2INIT_QP_wrapper()
3536 int srqn = vhcr->in_modifier; mlx4_SW2HW_SRQ_wrapper() local
3542 if (srqn != (be32_to_cpu(srqc->state_logsize_srqn) & 0xffffff)) mlx4_SW2HW_SRQ_wrapper()
3545 err = srq_res_start_move_to(dev, slave, srqn, RES_SRQ_HW, &srq); mlx4_SW2HW_SRQ_wrapper()
3563 res_end_move(dev, slave, RES_SRQ, srqn); mlx4_SW2HW_SRQ_wrapper()
3569 res_abort_move(dev, slave, RES_SRQ, srqn); mlx4_SW2HW_SRQ_wrapper()
3581 int srqn = vhcr->in_modifier; mlx4_HW2SW_SRQ_wrapper() local
3584 err = srq_res_start_move_to(dev, slave, srqn, RES_SRQ_ALLOCATED, &srq); mlx4_HW2SW_SRQ_wrapper()
3593 res_end_move(dev, slave, RES_SRQ, srqn); mlx4_HW2SW_SRQ_wrapper()
3598 res_abort_move(dev, slave, RES_SRQ, srqn); mlx4_HW2SW_SRQ_wrapper()
3610 int srqn = vhcr->in_modifier; mlx4_QUERY_SRQ_wrapper() local
3613 err = get_res(dev, slave, srqn, RES_SRQ, &srq); mlx4_QUERY_SRQ_wrapper()
3622 put_res(dev, slave, srqn, RES_SRQ); mlx4_QUERY_SRQ_wrapper()
3633 int srqn = vhcr->in_modifier; mlx4_ARM_SRQ_wrapper() local
3636 err = get_res(dev, slave, srqn, RES_SRQ, &srq); mlx4_ARM_SRQ_wrapper()
3647 put_res(dev, slave, srqn, RES_SRQ); mlx4_ARM_SRQ_wrapper()
4601 int srqn; rem_slave_srqs() local
4613 srqn = srq->com.res_id; list_for_each_entry_safe()
4618 __mlx4_srq_free_icm(dev, srqn); list_for_each_entry_safe()
4632 err = mlx4_cmd(dev, in_param, srqn, 1, list_for_each_entry_safe()
4638 slave, srqn); list_for_each_entry_safe()
H A Den_resources.c88 context->srqn = cpu_to_be32(7 << 28); /* this fills bits 30:28 */ mlx4_en_fill_qp_context()
H A Deq.c552 be32_to_cpu(eqe->event.srq.srqn) mlx4_eq_int()
563 be32_to_cpu(eqe->event.srq.srqn), mlx4_eq_int()
574 mlx4_srq_event(dev, be32_to_cpu(eqe->event.srq.srqn) & mlx4_eq_int()
H A Dmlx4.h958 int __mlx4_srq_alloc_icm(struct mlx4_dev *dev, int *srqn);
959 void __mlx4_srq_free_icm(struct mlx4_dev *dev, int srqn);
1205 void mlx4_srq_event(struct mlx4_dev *dev, u32 srqn, int event_type);
/linux-4.4.14/drivers/net/ethernet/mellanox/mlx5/core/
H A Dsrq.c42 void mlx5_srq_event(struct mlx5_core_dev *dev, u32 srqn, int event_type) mlx5_srq_event() argument
49 srq = radix_tree_lookup(&table->tree, srqn); mlx5_srq_event()
56 mlx5_core_warn(dev, "Async event for bogus SRQ 0x%08x\n", srqn); mlx5_srq_event()
134 struct mlx5_core_srq *mlx5_core_get_srq(struct mlx5_core_dev *dev, u32 srqn) mlx5_core_get_srq() argument
141 srq = radix_tree_lookup(&table->tree, srqn); mlx5_core_get_srq()
164 srq->srqn = be32_to_cpu(out.srqn) & 0xffffff; create_srq_cmd()
178 in.srqn = cpu_to_be32(srq->srqn); destroy_srq_cmd()
195 in.srqn = cpu_to_be32(srq->srqn); arm_srq_cmd()
211 in.srqn = cpu_to_be32(srq->srqn); query_srq_cmd()
255 srq->srqn = MLX5_GET(create_xrc_srq_out, create_out, xrc_srqn); create_xrc_srq_cmd()
272 MLX5_SET(destroy_xrc_srq_in, xrcsrq_in, xrc_srqn, srq->srqn); destroy_xrc_srq_cmd()
289 MLX5_SET(arm_xrc_srq_in, xrcsrq_in, xrc_srqn, srq->srqn); arm_xrc_srq_cmd()
313 MLX5_SET(query_xrc_srq_in, xrcsrq_in, xrc_srqn, srq->srqn); query_xrc_srq_cmd()
352 err = mlx5_core_create_rmp(dev, create_in, inlen, &srq->srqn); create_rmp_cmd()
361 return mlx5_core_destroy_rmp(dev, srq->srqn); destroy_rmp_cmd()
383 MLX5_SET(modify_rmp_in, in, rmpn, srq->srqn); arm_rmp_cmd()
406 err = mlx5_core_query_rmp(dev, srq->srqn, rmp_out); query_rmp_cmd()
460 err = radix_tree_insert(&table->tree, srq->srqn, srq); mlx5_core_create_srq()
463 mlx5_core_warn(dev, "err %d, srqn 0x%x\n", err, srq->srqn); mlx5_core_create_srq()
483 tmp = radix_tree_delete(&table->tree, srq->srqn); mlx5_core_destroy_srq()
486 mlx5_core_warn(dev, "srq 0x%x not found in tree\n", srq->srqn); mlx5_core_destroy_srq()
490 mlx5_core_warn(dev, "corruption on srqn 0x%x\n", srq->srqn); mlx5_core_destroy_srq()
H A Dcq.c154 mlx5_core_warn(dev, "corruption on srqn 0x%x\n", cq->cqn); mlx5_core_destroy_cq()
H A Den_rx.c196 lro_num_seg = be32_to_cpu(cqe->srqn) >> 24; mlx5e_build_rx_skb()
H A Deq.c238 mlx5_core_dbg(dev, "SRQ event %s(%d): srqn 0x%x\n", mlx5_eq_int()
/linux-4.4.14/drivers/infiniband/hw/mthca/
H A Dmthca_srq.c128 context->state_logsize_srqn = cpu_to_be32(logsize << 24 | srq->srqn); mthca_arbel_init_srq_context()
229 srq->srqn = mthca_alloc(&dev->srq_table.alloc); mthca_alloc_srq()
230 if (srq->srqn == -1) mthca_alloc_srq()
234 err = mthca_table_get(dev, dev->srq_table.table, srq->srqn); mthca_alloc_srq()
240 srq->srqn, &srq->db); mthca_alloc_srq()
268 err = mthca_SW2HW_SRQ(dev, mailbox, srq->srqn); mthca_alloc_srq()
277 srq->srqn & (dev->limits.num_srqs - 1), mthca_alloc_srq()
295 err = mthca_HW2SW_SRQ(dev, mailbox, srq->srqn); mthca_alloc_srq()
311 mthca_table_put(dev, dev->srq_table.table, srq->srqn); mthca_alloc_srq()
314 mthca_free(&dev->srq_table.alloc, srq->srqn); mthca_alloc_srq()
341 err = mthca_HW2SW_SRQ(dev, mailbox, srq->srqn); mthca_free_srq()
347 srq->srqn & (dev->limits.num_srqs - 1)); mthca_free_srq()
359 mthca_table_put(dev, dev->srq_table.table, srq->srqn); mthca_free_srq()
360 mthca_free(&dev->srq_table.alloc, srq->srqn); mthca_free_srq()
381 ret = mthca_ARM_SRQ(dev, srq->srqn, attr->srq_limit); mthca_modify_srq()
401 err = mthca_QUERY_SRQ(dev, srq->srqn, mailbox); mthca_query_srq()
422 void mthca_srq_event(struct mthca_dev *dev, u32 srqn, mthca_srq_event() argument
429 srq = mthca_array_get(&dev->srq_table.srq, srqn & (dev->limits.num_srqs - 1)); mthca_srq_event()
435 mthca_warn(dev, "Async event for bogus SRQ %08x\n", srqn); mthca_srq_event()
500 mthca_err(dev, "SRQ %06x full\n", srq->srqn); mthca_tavor_post_srq_recv()
545 mthca_write64(first_ind << srq->wqe_shift, srq->srqn << 8, mthca_tavor_post_srq_recv()
560 mthca_write64(first_ind << srq->wqe_shift, (srq->srqn << 8) | nreq, mthca_tavor_post_srq_recv()
596 mthca_err(dev, "SRQ %06x full\n", srq->srqn); mthca_arbel_post_srq_recv()
H A Dmthca_user.h99 __u32 srqn; member in struct:mthca_create_srq_resp
H A Dmthca_eq.c146 __be32 srqn; member in struct:mthca_eqe::__anon5264::__anon5268
302 mthca_srq_event(dev, be32_to_cpu(eqe->event.srq.srqn) & 0xffffff, mthca_eq_int()
H A Dmthca_provider.h226 int srqn; member in struct:mthca_srq
H A Dmthca_qp.c151 __be32 srqn; member in struct:mthca_qp_context
769 qp_context->srqn = cpu_to_be32(1 << 24 | __mthca_modify_qp()
770 to_msrq(ibqp->srq)->srqn); __mthca_modify_qp()
H A Dmthca_dev.h519 void mthca_srq_event(struct mthca_dev *dev, u32 srqn,
H A Dmthca_provider.c483 if (context && ib_copy_to_udata(udata, &srq->srqn, sizeof (__u32))) { mthca_create_srq()
/linux-4.4.14/include/linux/mlx4/
H A Dsrq.h42 struct mlx4_srq *mlx4_srq_lookup(struct mlx4_dev *dev, u32 srqn);
H A Dqp.h216 __be32 srqn; member in struct:mlx4_qp_context
H A Ddevice.h747 int srqn; member in struct:mlx4_srq
886 __be32 srqn; member in struct:mlx4_eqe::__anon12691::__anon12695
/linux-4.4.14/drivers/infiniband/hw/mlx5/
H A Dsrq.c68 type, srq->srqn); mlx5_ib_srq_event()
312 mlx5_ib_dbg(dev, "create SRQ with srqn 0x%x\n", srq->msrq.srqn); mlx5_ib_create_srq()
315 srq->ibsrq.ext.xrc.srq_num = srq->msrq.srqn; mlx5_ib_create_srq()
318 if (ib_copy_to_udata(udata, &srq->msrq.srqn, sizeof(__u32))) { mlx5_ib_create_srq()
H A Duser.h117 __u32 srqn; member in struct:mlx5_ib_create_srq_resp
H A Dcq.c185 be32_to_cpu(cqe->srqn)); handle_responder()
896 if (srq && (ntohl(cqe64->srqn) & 0xffffff)) __mlx5_ib_cq_clean()
H A Dqp.c994 in->ctx.rq_type_srqn |= cpu_to_be32(to_msrq(devr->s0)->msrq.srqn); create_qp_common()
1000 in->ctx.rq_type_srqn |= cpu_to_be32(to_msrq(devr->s0)->msrq.srqn); create_qp_common()
1005 in->ctx.rq_type_srqn |= cpu_to_be32(to_msrq(init_attr->srq)->msrq.srqn); create_qp_common()
1009 cpu_to_be32(to_msrq(devr->s1)->msrq.srqn); create_qp_common()
/linux-4.4.14/include/linux/mlx5/
H A Ddevice.h577 __be32 srqn; member in struct:mlx5_err_cqe
603 __be32 srqn; /* [31:24]: lro_num_seg, [23:0]: srqn */ member in struct:mlx5_cqe64
708 __be32 srqn; member in struct:mlx5_create_srq_mbox_out
714 __be32 srqn; member in struct:mlx5_destroy_srq_mbox_in
725 __be32 srqn; member in struct:mlx5_query_srq_mbox_in
739 __be32 srqn; member in struct:mlx5_arm_srq_mbox_in
H A Ddriver.h357 u32 srqn; member in struct:mlx5_core_srq
756 void mlx5_srq_event(struct mlx5_core_dev *dev, u32 srqn, int event_type);
757 struct mlx5_core_srq *mlx5_core_get_srq(struct mlx5_core_dev *dev, u32 srqn);
H A Dmlx5_ifc.h2364 u8 srqn[0x18]; member in struct:mlx5_ifc_dctc_bits
3088 u8 srqn[0x18]; member in struct:mlx5_ifc_query_srq_in_bits
4726 u8 srqn[0x18]; member in struct:mlx5_ifc_destroy_srq_in_bits
5277 u8 srqn[0x18]; member in struct:mlx5_ifc_create_srq_out_bits
/linux-4.4.14/drivers/infiniband/hw/mlx4/
H A Dsrq.c64 "on SRQ %06x\n", type, srq->srqn); mlx4_ib_srq_event()
196 srq->ibsrq.ext.xrc.srq_num = srq->msrq.srqn; mlx4_ib_create_srq()
199 if (ib_copy_to_udata(udata, &srq->msrq.srqn, sizeof (__u32))) { mlx4_ib_create_srq()
H A Duser.h94 __u32 srqn; member in struct:mlx4_ib_create_srq_resp
H A Dqp.c1778 context->srqn = cpu_to_be32(1 << 24 | to_msrq(ibqp->srq)->msrq.srqn); __mlx4_ib_modify_qp()
1826 context->srqn = cpu_to_be32(7 << 28); __mlx4_ib_modify_qp()
/linux-4.4.14/include/uapi/rdma/
H A Dib_user_verbs.h913 __u32 srqn; member in struct:ib_uverbs_create_srq_resp
/linux-4.4.14/drivers/infiniband/core/
H A Duverbs_cmd.c3359 resp.srqn = srq->ext.xrc.srq_num; __uverbs_create_xsrq()

Completed in 922 milliseconds