Lines Matching refs:qpn
224 int qpn; member
732 u8 slave, u32 qpn) in update_vport_qp_param() argument
753 if (mlx4_is_qp_reserved(dev, qpn)) in update_vport_qp_param()
767 err = mlx4_update_qp(dev, qpn, MLX4_UPDATE_QP_VSD, ¶ms); in update_vport_qp_param()
1095 static struct res_common *alloc_fs_rule_tr(u64 id, int qpn) in alloc_fs_rule_tr() argument
1105 ret->qpn = qpn; in alloc_fs_rule_tr()
1427 static int qp_res_start_move_to(struct mlx4_dev *dev, int slave, int qpn, in qp_res_start_move_to() argument
1437 r = res_tracker_lookup(&tracker->res_tree[RES_QP], qpn); in qp_res_start_move_to()
1697 static int valid_reserved(struct mlx4_dev *dev, int slave, int qpn) in valid_reserved() argument
1699 return mlx4_is_qp_reserved(dev, qpn) && in valid_reserved()
1700 (mlx4_is_master(dev) || mlx4_is_guest_proxy(dev, slave, qpn)); in valid_reserved()
1703 static int fw_reserved(struct mlx4_dev *dev, int qpn) in fw_reserved() argument
1705 return qpn < dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FW]; in fw_reserved()
1715 int qpn; in qp_alloc_res() local
1745 qpn = get_param_l(&in_param) & 0x7fffff; in qp_alloc_res()
1746 if (valid_reserved(dev, slave, qpn)) { in qp_alloc_res()
1747 err = add_res_range(dev, slave, qpn, 1, RES_QP, 0); in qp_alloc_res()
1752 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED, in qp_alloc_res()
1757 if (!fw_reserved(dev, qpn)) { in qp_alloc_res()
1758 err = __mlx4_qp_alloc_icm(dev, qpn, GFP_KERNEL); in qp_alloc_res()
1760 res_abort_move(dev, slave, RES_QP, qpn); in qp_alloc_res()
1765 res_end_move(dev, slave, RES_QP, qpn); in qp_alloc_res()
2287 int qpn; in qp_free_res() local
2300 qpn = get_param_l(&in_param) & 0x7fffff; in qp_free_res()
2301 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_RESERVED, in qp_free_res()
2306 if (!fw_reserved(dev, qpn)) in qp_free_res()
2307 __mlx4_qp_free_icm(dev, qpn); in qp_free_res()
2309 res_end_move(dev, slave, RES_QP, qpn); in qp_free_res()
2311 if (valid_reserved(dev, slave, qpn)) in qp_free_res()
2312 err = rem_res_range(dev, slave, qpn, 1, RES_QP, 0); in qp_free_res()
2860 u32 qpn = vhcr->in_modifier & 0xffffff; in adjust_proxy_tun_qkey() local
2863 if (mlx4_get_parav_qkey(dev, qpn, &qkey)) in adjust_proxy_tun_qkey()
2881 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_RST2INIT_QP_wrapper() local
2900 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_HW, &qp, 0); in mlx4_RST2INIT_QP_wrapper()
2960 res_end_move(dev, slave, RES_QP, qpn); in mlx4_RST2INIT_QP_wrapper()
2975 res_abort_move(dev, slave, RES_QP, qpn); in mlx4_RST2INIT_QP_wrapper()
3108 u32 qpn; in verify_qp_parameters() local
3162 qpn = vhcr->in_modifier & 0x7fffff; in verify_qp_parameters()
3166 mlx4_is_qp_reserved(dev, qpn) && in verify_qp_parameters()
3658 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_GEN_QP_wrapper() local
3661 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_GEN_QP_wrapper()
3671 put_res(dev, slave, qpn, RES_QP); in mlx4_GEN_QP_wrapper()
3747 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_INIT2RTR_QP_wrapper() local
3772 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_INIT2RTR_QP_wrapper()
3780 err = update_vport_qp_param(dev, inbox, slave, qpn); in mlx4_INIT2RTR_QP_wrapper()
3799 put_res(dev, slave, qpn, RES_QP); in mlx4_INIT2RTR_QP_wrapper()
3913 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_2RST_QP_wrapper() local
3916 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED, &qp, 0); in mlx4_2RST_QP_wrapper()
3928 res_end_move(dev, slave, RES_QP, qpn); in mlx4_2RST_QP_wrapper()
3932 res_abort_move(dev, slave, RES_QP, qpn); in mlx4_2RST_QP_wrapper()
4069 int qpn; in mlx4_QP_ATTACH_wrapper() local
4077 qpn = vhcr->in_modifier & 0xffffff; in mlx4_QP_ATTACH_wrapper()
4078 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_QP_ATTACH_wrapper()
4082 qp.qpn = qpn; in mlx4_QP_ATTACH_wrapper()
4087 pr_err("Fail to attach rule to qp 0x%x\n", qpn); in mlx4_QP_ATTACH_wrapper()
4105 qpn, reg_id); in mlx4_QP_ATTACH_wrapper()
4107 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_ATTACH_wrapper()
4113 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_ATTACH_wrapper()
4228 u32 qpn = vhcr->in_modifier & 0xffffff; in mlx4_UPDATE_QP_wrapper() local
4254 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_UPDATE_QP_wrapper()
4256 mlx4_err(dev, "Updating qpn 0x%x for slave %d rejected\n", qpn, slave); in mlx4_UPDATE_QP_wrapper()
4269 qpn, smac_index); in mlx4_UPDATE_QP_wrapper()
4279 mlx4_err(dev, "Failed to update qpn on qpn 0x%x, command failed\n", qpn); in mlx4_UPDATE_QP_wrapper()
4284 put_res(dev, slave, qpn, RES_QP); in mlx4_UPDATE_QP_wrapper()
4299 int qpn; in mlx4_QP_FLOW_STEERING_ATTACH_wrapper() local
4314 qpn = be32_to_cpu(ctrl->qpn) & 0xffffff; in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4315 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4317 pr_err("Steering rule with qpn 0x%x rejected\n", qpn); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4363 err = add_res_range(dev, slave, vhcr->out_param, 1, RES_FS_RULE, qpn); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4374 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4397 err = get_res(dev, slave, rrule->qpn, RES_QP, &rqp); in mlx4_QP_FLOW_STEERING_DETACH_wrapper()
4413 put_res(dev, slave, rrule->qpn, RES_QP); in mlx4_QP_FLOW_STEERING_DETACH_wrapper()
4451 qp.qpn = rqp->local_qpn; in detach_qp()
4527 int qpn; in rem_slave_qps() local
4539 qpn = qp->com.res_id; in rem_slave_qps()
4550 if (!valid_reserved(dev, slave, qpn)) { in rem_slave_qps()
4551 __mlx4_qp_release_range(dev, qpn, 1); in rem_slave_qps()
4559 if (!valid_reserved(dev, slave, qpn)) in rem_slave_qps()
4560 __mlx4_qp_free_icm(dev, qpn); in rem_slave_qps()