Lines Matching refs:qpn

46 void mlx4_qp_event(struct mlx4_dev *dev, u32 qpn, int event_type)
53 qp = __mlx4_qp_lookup(dev, qpn);
60 mlx4_dbg(dev, "Async event for none existent QP %08x\n", qpn);
72 return qp->qpn >= dev->caps.sqp_start &&
73 qp->qpn <= dev->caps.sqp_start + 1;
132 ret = mlx4_cmd(dev, 0, qp->qpn, 2,
137 port = (qp->qpn & 1) + 1;
158 cpu_to_be32(qp->qpn);
161 qp->qpn | (!!sqd_event << 31),
246 int __mlx4_qp_alloc_icm(struct mlx4_dev *dev, int qpn)
252 err = mlx4_table_get(dev, &qp_table->qp_table, qpn);
256 err = mlx4_table_get(dev, &qp_table->auxc_table, qpn);
260 err = mlx4_table_get(dev, &qp_table->altc_table, qpn);
264 err = mlx4_table_get(dev, &qp_table->rdmarc_table, qpn);
268 err = mlx4_table_get(dev, &qp_table->cmpt_table, qpn);
275 mlx4_table_put(dev, &qp_table->rdmarc_table, qpn);
278 mlx4_table_put(dev, &qp_table->altc_table, qpn);
281 mlx4_table_put(dev, &qp_table->auxc_table, qpn);
284 mlx4_table_put(dev, &qp_table->qp_table, qpn);
290 static int mlx4_qp_alloc_icm(struct mlx4_dev *dev, int qpn)
295 set_param_l(&param, qpn);
300 return __mlx4_qp_alloc_icm(dev, qpn);
303 void __mlx4_qp_free_icm(struct mlx4_dev *dev, int qpn)
308 mlx4_table_put(dev, &qp_table->cmpt_table, qpn);
309 mlx4_table_put(dev, &qp_table->rdmarc_table, qpn);
310 mlx4_table_put(dev, &qp_table->altc_table, qpn);
311 mlx4_table_put(dev, &qp_table->auxc_table, qpn);
312 mlx4_table_put(dev, &qp_table->qp_table, qpn);
315 static void mlx4_qp_free_icm(struct mlx4_dev *dev, int qpn)
320 set_param_l(&in_param, qpn);
324 mlx4_warn(dev, "Failed to free icm of qp:%d\n", qpn);
326 __mlx4_qp_free_icm(dev, qpn);
329 int mlx4_qp_alloc(struct mlx4_dev *dev, int qpn, struct mlx4_qp *qp)
335 if (!qpn)
338 qp->qpn = qpn;
340 err = mlx4_qp_alloc_icm(dev, qpn);
345 err = radix_tree_insert(&dev->qp_table_tree, qp->qpn &
357 mlx4_qp_free_icm(dev, qpn);
369 radix_tree_delete(&dev->qp_table_tree, qp->qpn & (dev->caps.num_qps - 1));
380 mlx4_qp_free_icm(dev, qp->qpn);
468 err = mlx4_cmd_box(dev, 0, mailbox->dma, qp->qpn, 0,