Lines Matching refs:qpn
221 int qpn; member
705 u8 slave, u32 qpn) in update_vport_qp_param() argument
722 if (mlx4_is_qp_reserved(dev, qpn)) in update_vport_qp_param()
736 err = mlx4_update_qp(dev, qpn, MLX4_UPDATE_QP_VSD, ¶ms); in update_vport_qp_param()
983 static struct res_common *alloc_fs_rule_tr(u64 id, int qpn) in alloc_fs_rule_tr() argument
993 ret->qpn = qpn; in alloc_fs_rule_tr()
1266 static int qp_res_start_move_to(struct mlx4_dev *dev, int slave, int qpn, in qp_res_start_move_to() argument
1276 r = res_tracker_lookup(&tracker->res_tree[RES_QP], qpn); in qp_res_start_move_to()
1536 static int valid_reserved(struct mlx4_dev *dev, int slave, int qpn) in valid_reserved() argument
1538 return mlx4_is_qp_reserved(dev, qpn) && in valid_reserved()
1539 (mlx4_is_master(dev) || mlx4_is_guest_proxy(dev, slave, qpn)); in valid_reserved()
1542 static int fw_reserved(struct mlx4_dev *dev, int qpn) in fw_reserved() argument
1544 return qpn < dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FW]; in fw_reserved()
1554 int qpn; in qp_alloc_res() local
1584 qpn = get_param_l(&in_param) & 0x7fffff; in qp_alloc_res()
1585 if (valid_reserved(dev, slave, qpn)) { in qp_alloc_res()
1586 err = add_res_range(dev, slave, qpn, 1, RES_QP, 0); in qp_alloc_res()
1591 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED, in qp_alloc_res()
1596 if (!fw_reserved(dev, qpn)) { in qp_alloc_res()
1597 err = __mlx4_qp_alloc_icm(dev, qpn, GFP_KERNEL); in qp_alloc_res()
1599 res_abort_move(dev, slave, RES_QP, qpn); in qp_alloc_res()
1604 res_end_move(dev, slave, RES_QP, qpn); in qp_alloc_res()
2126 int qpn; in qp_free_res() local
2139 qpn = get_param_l(&in_param) & 0x7fffff; in qp_free_res()
2140 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_RESERVED, in qp_free_res()
2145 if (!fw_reserved(dev, qpn)) in qp_free_res()
2146 __mlx4_qp_free_icm(dev, qpn); in qp_free_res()
2148 res_end_move(dev, slave, RES_QP, qpn); in qp_free_res()
2150 if (valid_reserved(dev, slave, qpn)) in qp_free_res()
2151 err = rem_res_range(dev, slave, qpn, 1, RES_QP, 0); in qp_free_res()
2696 u32 qpn = vhcr->in_modifier & 0xffffff; in adjust_proxy_tun_qkey() local
2699 if (mlx4_get_parav_qkey(dev, qpn, &qkey)) in adjust_proxy_tun_qkey()
2713 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_RST2INIT_QP_wrapper() local
2728 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_HW, &qp, 0); in mlx4_RST2INIT_QP_wrapper()
2788 res_end_move(dev, slave, RES_QP, qpn); in mlx4_RST2INIT_QP_wrapper()
2803 res_abort_move(dev, slave, RES_QP, qpn); in mlx4_RST2INIT_QP_wrapper()
2936 u32 qpn; in verify_qp_parameters() local
2989 qpn = vhcr->in_modifier & 0x7fffff; in verify_qp_parameters()
2993 mlx4_is_qp_reserved(dev, qpn) && in verify_qp_parameters()
3485 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_GEN_QP_wrapper() local
3488 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_GEN_QP_wrapper()
3498 put_res(dev, slave, qpn, RES_QP); in mlx4_GEN_QP_wrapper()
3574 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_INIT2RTR_QP_wrapper() local
3598 err = update_vport_qp_param(dev, inbox, slave, qpn); in mlx4_INIT2RTR_QP_wrapper()
3602 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_INIT2RTR_QP_wrapper()
3625 put_res(dev, slave, qpn, RES_QP); in mlx4_INIT2RTR_QP_wrapper()
3739 int qpn = vhcr->in_modifier & 0x7fffff; in mlx4_2RST_QP_wrapper() local
3742 err = qp_res_start_move_to(dev, slave, qpn, RES_QP_MAPPED, &qp, 0); in mlx4_2RST_QP_wrapper()
3754 res_end_move(dev, slave, RES_QP, qpn); in mlx4_2RST_QP_wrapper()
3758 res_abort_move(dev, slave, RES_QP, qpn); in mlx4_2RST_QP_wrapper()
3895 int qpn; in mlx4_QP_ATTACH_wrapper() local
3903 qpn = vhcr->in_modifier & 0xffffff; in mlx4_QP_ATTACH_wrapper()
3904 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_QP_ATTACH_wrapper()
3908 qp.qpn = qpn; in mlx4_QP_ATTACH_wrapper()
3913 pr_err("Fail to attach rule to qp 0x%x\n", qpn); in mlx4_QP_ATTACH_wrapper()
3931 qpn, reg_id); in mlx4_QP_ATTACH_wrapper()
3933 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_ATTACH_wrapper()
3939 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_ATTACH_wrapper()
4036 u32 qpn = vhcr->in_modifier & 0xffffff; in mlx4_UPDATE_QP_wrapper() local
4052 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_UPDATE_QP_wrapper()
4054 mlx4_err(dev, "Updating qpn 0x%x for slave %d rejected\n", qpn, slave); in mlx4_UPDATE_QP_wrapper()
4067 qpn, smac_index); in mlx4_UPDATE_QP_wrapper()
4077 mlx4_err(dev, "Failed to update qpn on qpn 0x%x, command failed\n", qpn); in mlx4_UPDATE_QP_wrapper()
4082 put_res(dev, slave, qpn, RES_QP); in mlx4_UPDATE_QP_wrapper()
4097 int qpn; in mlx4_QP_FLOW_STEERING_ATTACH_wrapper() local
4111 qpn = be32_to_cpu(ctrl->qpn) & 0xffffff; in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4112 err = get_res(dev, slave, qpn, RES_QP, &rqp); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4114 pr_err("Steering rule with qpn 0x%x rejected\n", qpn); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4153 err = add_res_range(dev, slave, vhcr->out_param, 1, RES_FS_RULE, qpn); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4164 put_res(dev, slave, qpn, RES_QP); in mlx4_QP_FLOW_STEERING_ATTACH_wrapper()
4187 err = get_res(dev, slave, rrule->qpn, RES_QP, &rqp); in mlx4_QP_FLOW_STEERING_DETACH_wrapper()
4203 put_res(dev, slave, rrule->qpn, RES_QP); in mlx4_QP_FLOW_STEERING_DETACH_wrapper()
4241 qp.qpn = rqp->local_qpn; in detach_qp()
4317 int qpn; in rem_slave_qps() local
4329 qpn = qp->com.res_id; in rem_slave_qps()
4340 if (!valid_reserved(dev, slave, qpn)) { in rem_slave_qps()
4341 __mlx4_qp_release_range(dev, qpn, 1); in rem_slave_qps()
4349 if (!valid_reserved(dev, slave, qpn)) in rem_slave_qps()
4350 __mlx4_qp_free_icm(dev, qpn); in rem_slave_qps()