• Home
  • Raw
  • Download

Lines Matching refs:qpn

49 void mlx4_qp_event(struct mlx4_dev *dev, u32 qpn, int event_type)  in mlx4_qp_event()  argument
56 qp = __mlx4_qp_lookup(dev, qpn); in mlx4_qp_event()
63 mlx4_dbg(dev, "Async event for none existent QP %08x\n", qpn); in mlx4_qp_event()
79 *proxy_qp0 = qp->qpn >= pf_proxy_offset && qp->qpn <= pf_proxy_offset + 1; in is_master_qp0()
81 *real_qp0 = qp->qpn >= dev->phys_caps.base_sqpn && in is_master_qp0()
82 qp->qpn <= dev->phys_caps.base_sqpn + 1; in is_master_qp0()
145 ret = mlx4_cmd(dev, 0, qp->qpn, 2, in __mlx4_qp_modify()
150 port = (qp->qpn & 1) + 1; in __mlx4_qp_modify()
174 cpu_to_be32(qp->qpn); in __mlx4_qp_modify()
177 qp->qpn | (!!sqd_event << 31), in __mlx4_qp_modify()
182 port = (qp->qpn & 1) + 1; in __mlx4_qp_modify()
301 int __mlx4_qp_alloc_icm(struct mlx4_dev *dev, int qpn, gfp_t gfp) in __mlx4_qp_alloc_icm() argument
307 err = mlx4_table_get(dev, &qp_table->qp_table, qpn, gfp); in __mlx4_qp_alloc_icm()
311 err = mlx4_table_get(dev, &qp_table->auxc_table, qpn, gfp); in __mlx4_qp_alloc_icm()
315 err = mlx4_table_get(dev, &qp_table->altc_table, qpn, gfp); in __mlx4_qp_alloc_icm()
319 err = mlx4_table_get(dev, &qp_table->rdmarc_table, qpn, gfp); in __mlx4_qp_alloc_icm()
323 err = mlx4_table_get(dev, &qp_table->cmpt_table, qpn, gfp); in __mlx4_qp_alloc_icm()
330 mlx4_table_put(dev, &qp_table->rdmarc_table, qpn); in __mlx4_qp_alloc_icm()
333 mlx4_table_put(dev, &qp_table->altc_table, qpn); in __mlx4_qp_alloc_icm()
336 mlx4_table_put(dev, &qp_table->auxc_table, qpn); in __mlx4_qp_alloc_icm()
339 mlx4_table_put(dev, &qp_table->qp_table, qpn); in __mlx4_qp_alloc_icm()
345 static int mlx4_qp_alloc_icm(struct mlx4_dev *dev, int qpn, gfp_t gfp) in mlx4_qp_alloc_icm() argument
350 set_param_l(&param, qpn); in mlx4_qp_alloc_icm()
355 return __mlx4_qp_alloc_icm(dev, qpn, gfp); in mlx4_qp_alloc_icm()
358 void __mlx4_qp_free_icm(struct mlx4_dev *dev, int qpn) in __mlx4_qp_free_icm() argument
363 mlx4_table_put(dev, &qp_table->cmpt_table, qpn); in __mlx4_qp_free_icm()
364 mlx4_table_put(dev, &qp_table->rdmarc_table, qpn); in __mlx4_qp_free_icm()
365 mlx4_table_put(dev, &qp_table->altc_table, qpn); in __mlx4_qp_free_icm()
366 mlx4_table_put(dev, &qp_table->auxc_table, qpn); in __mlx4_qp_free_icm()
367 mlx4_table_put(dev, &qp_table->qp_table, qpn); in __mlx4_qp_free_icm()
370 static void mlx4_qp_free_icm(struct mlx4_dev *dev, int qpn) in mlx4_qp_free_icm() argument
375 set_param_l(&in_param, qpn); in mlx4_qp_free_icm()
379 mlx4_warn(dev, "Failed to free icm of qp:%d\n", qpn); in mlx4_qp_free_icm()
381 __mlx4_qp_free_icm(dev, qpn); in mlx4_qp_free_icm()
384 struct mlx4_qp *mlx4_qp_lookup(struct mlx4_dev *dev, u32 qpn) in mlx4_qp_lookup() argument
391 qp = __mlx4_qp_lookup(dev, qpn); in mlx4_qp_lookup()
397 int mlx4_qp_alloc(struct mlx4_dev *dev, int qpn, struct mlx4_qp *qp, gfp_t gfp) in mlx4_qp_alloc() argument
403 if (!qpn) in mlx4_qp_alloc()
406 qp->qpn = qpn; in mlx4_qp_alloc()
408 err = mlx4_qp_alloc_icm(dev, qpn, gfp); in mlx4_qp_alloc()
413 err = radix_tree_insert(&dev->qp_table_tree, qp->qpn & in mlx4_qp_alloc()
425 mlx4_qp_free_icm(dev, qpn); in mlx4_qp_alloc()
431 int mlx4_update_qp(struct mlx4_dev *dev, u32 qpn, in mlx4_update_qp() argument
497 err = mlx4_cmd(dev, mailbox->dma, qpn & 0xffffff, 0, in mlx4_update_qp()
512 radix_tree_delete(&dev->qp_table_tree, qp->qpn & (dev->caps.num_qps - 1)); in mlx4_qp_remove()
523 mlx4_qp_free_icm(dev, qp->qpn); in mlx4_qp_free()
903 err = mlx4_cmd_box(dev, 0, mailbox->dma, qp->qpn, 0, in mlx4_qp_query()