Lines Matching refs:qpn
224 int qpn; member
739 u8 slave, u32 qpn) in update_vport_qp_param() argument
760 if (mlx4_is_qp_reserved(dev, qpn)) in update_vport_qp_param()
774 err = mlx4_update_qp(dev, qpn, MLX4_UPDATE_QP_VSD, ¶ms); in update_vport_qp_param()
1120 static struct res_common *alloc_fs_rule_tr(u64 id, int qpn) in alloc_fs_rule_tr() argument
1130 ret->qpn = qpn; in alloc_fs_rule_tr()
1452 static int qp_res_start_move_to(struct mlx4_dev *dev, int slave, int qpn, in qp_res_start_move_to() argument
1462 r = res_tracker_lookup(&tracker->res_tree[RES_QP], qpn); in qp_res_start_move_to()
1723 static int valid_reserved(struct mlx4_dev *dev, int slave, int qpn) in valid_reserved() argument
1725 return mlx4_is_qp_reserved(dev, qpn) && in valid_reserved()
1726 (mlx4_is_master(dev) || mlx4_is_guest_proxy(dev, slave, qpn)); in valid_reserved()
1729 static int fw_reserved(struct mlx4_dev *dev, int qpn) in fw_reserved() argument
1731 return qpn < dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FW]; in fw_reserved()
1741 int qpn; in qp_alloc_res() local
1771 qpn = get_param_l(&in_param) & 0x7fffff; in qp_alloc_res()
1772 if (valid_reserved(dev, slave, qpn)) { in qp_alloc_res()
1773 err = add_res_range(dev, slave, qpn, 1, RES_QP, 0); in qp_alloc_res()
1778 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED, in qp_alloc_res()
1783 if (!fw_reserved(dev, qpn)) { in qp_alloc_res()
1784 err = __mlx4_qp_alloc_icm(dev, qpn, GFP_KERNEL); in qp_alloc_res()
1786 res_abort_move(dev, slave, RES_QP, qpn); in qp_alloc_res()
1791 res_end_move(dev, slave, RES_QP, qpn); in qp_alloc_res()
2313 int qpn; in qp_free_res() local
2326 qpn = get_param_l(&in_param) & 0x7fffff; in qp_free_res()
2327 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_RESERVED, in qp_free_res()
2332 if (!fw_reserved(dev, qpn)) in qp_free_res()
2333 __mlx4_qp_free_icm(dev, qpn); in qp_free_res()
2335 res_end_move(dev, slave, RES_QP, qpn); in qp_free_res()
2337 if (valid_reserved(dev, slave, qpn)) in qp_free_res()
2338 err = rem_res_range(dev, slave, qpn, 1, RES_QP, 0); in qp_free_res()
2885 u32 qpn = vhcr->in_modifier & 0xffffff; in adjust_proxy_tun_qkey() local
2888 if (mlx4_get_parav_qkey(dev, qpn, &qkey)) in adjust_proxy_tun_qkey()
2906 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_RST2INIT_QP_wrapper() local
2925 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_HW, &qp, 0); in mlx4_RST2INIT_QP_wrapper()
2988 res_end_move(dev, slave, RES_QP, qpn); in mlx4_RST2INIT_QP_wrapper()
3003 res_abort_move(dev, slave, RES_QP, qpn); in mlx4_RST2INIT_QP_wrapper()
3136 u32 qpn; in verify_qp_parameters() local
3190 qpn = vhcr->in_modifier & 0x7fffff; in verify_qp_parameters()
3194 mlx4_is_qp_reserved(dev, qpn) && in verify_qp_parameters()
3686 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_GEN_QP_wrapper() local
3689 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_GEN_QP_wrapper()
3699 put_res(dev, slave, qpn, RES_QP); in mlx4_GEN_QP_wrapper()
3775 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_INIT2RTR_QP_wrapper() local
3799 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_INIT2RTR_QP_wrapper()
3807 err = update_vport_qp_param(dev, inbox, slave, qpn); in mlx4_INIT2RTR_QP_wrapper()
3825 put_res(dev, slave, qpn, RES_QP); in mlx4_INIT2RTR_QP_wrapper()
3939 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_2RST_QP_wrapper() local
3942 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED, &qp, 0); in mlx4_2RST_QP_wrapper()
3954 res_end_move(dev, slave, RES_QP, qpn); in mlx4_2RST_QP_wrapper()
3958 res_abort_move(dev, slave, RES_QP, qpn); in mlx4_2RST_QP_wrapper()
4095 int qpn; in mlx4_QP_ATTACH_wrapper() local
4103 qpn = vhcr->in_modifier & 0xffffff; in mlx4_QP_ATTACH_wrapper()
4104 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_QP_ATTACH_wrapper()
4108 qp.qpn = qpn; in mlx4_QP_ATTACH_wrapper()
4113 pr_err("Fail to attach rule to qp 0x%x\n", qpn); in mlx4_QP_ATTACH_wrapper()
4131 qpn, reg_id); in mlx4_QP_ATTACH_wrapper()
4133 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_ATTACH_wrapper()
4139 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_ATTACH_wrapper()
4238 u32 qpn = vhcr->in_modifier & 0xffffff; in mlx4_UPDATE_QP_wrapper() local
4263 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_UPDATE_QP_wrapper()
4265 mlx4_err(dev, "Updating qpn 0x%x for slave %d rejected\n", qpn, slave); in mlx4_UPDATE_QP_wrapper()
4278 qpn, smac_index); in mlx4_UPDATE_QP_wrapper()
4288 mlx4_err(dev, "Failed to update qpn on qpn 0x%x, command failed\n", qpn); in mlx4_UPDATE_QP_wrapper()
4293 put_res(dev, slave, qpn, RES_QP); in mlx4_UPDATE_QP_wrapper()
4324 int qpn; in mlx4_QP_FLOW_STEERING_ATTACH_wrapper() local
4341 qpn = be32_to_cpu(ctrl->qpn) & 0xffffff; in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4342 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4344 pr_err("Steering rule with qpn 0x%x rejected\n", qpn); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4387 err = add_res_range(dev, slave, vhcr->out_param, 1, RES_FS_RULE, qpn); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4428 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4457 int qpn; in mlx4_QP_FLOW_STEERING_DETACH_wrapper() local
4474 qpn = rrule->qpn; in mlx4_QP_FLOW_STEERING_DETACH_wrapper()
4478 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_QP_FLOW_STEERING_DETACH_wrapper()
4503 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_FLOW_STEERING_DETACH_wrapper()
4541 qp.qpn = rqp->local_qpn; in detach_qp()
4617 int qpn; in rem_slave_qps() local
4629 qpn = qp->com.res_id; in rem_slave_qps()
4640 if (!valid_reserved(dev, slave, qpn)) { in rem_slave_qps()
4641 __mlx4_qp_release_range(dev, qpn, 1); in rem_slave_qps()
4649 if (!valid_reserved(dev, slave, qpn)) in rem_slave_qps()
4650 __mlx4_qp_free_icm(dev, qpn); in rem_slave_qps()
4952 err = add_res_range(dev, fs_rule->com.owner, reg_id, 1, RES_FS_RULE, fs_rule->qpn); in mlx4_do_mirror_rule()