Lines Matching refs:qp
441 dev->quotas.qp = dev->caps.num_qps - dev->caps.reserved_qps - in mlx4_init_quotas()
451 dev->quotas.qp = in mlx4_init_quotas()
1267 enum res_qp_states state, struct res_qp **qp, in qp_res_start_move_to() argument
1321 if (qp) in qp_res_start_move_to()
1322 *qp = r; in qp_res_start_move_to()
2715 struct res_qp *qp; 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()
2731 qp->local_qpn = local_qpn; in mlx4_RST2INIT_QP_wrapper()
2732 qp->sched_queue = 0; in mlx4_RST2INIT_QP_wrapper()
2733 qp->param3 = 0; in mlx4_RST2INIT_QP_wrapper()
2734 qp->vlan_control = 0; in mlx4_RST2INIT_QP_wrapper()
2735 qp->fvl_rx = 0; in mlx4_RST2INIT_QP_wrapper()
2736 qp->pri_path_fl = 0; in mlx4_RST2INIT_QP_wrapper()
2737 qp->vlan_index = 0; in mlx4_RST2INIT_QP_wrapper()
2738 qp->feup = 0; in mlx4_RST2INIT_QP_wrapper()
2739 qp->qpc_flags = be32_to_cpu(qpc->flags); in mlx4_RST2INIT_QP_wrapper()
2772 qp->mtt = mtt; in mlx4_RST2INIT_QP_wrapper()
2774 qp->rcq = rcq; in mlx4_RST2INIT_QP_wrapper()
2776 qp->scq = scq; in mlx4_RST2INIT_QP_wrapper()
2784 qp->srq = srq; in mlx4_RST2INIT_QP_wrapper()
3486 struct res_qp *qp; in mlx4_GEN_QP_wrapper() local
3488 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_GEN_QP_wrapper()
3491 if (qp->com.from_state != RES_QP_HW) { in mlx4_GEN_QP_wrapper()
3575 struct res_qp *qp; in mlx4_INIT2RTR_QP_wrapper() local
3602 err = get_res(dev, slave, qpn, RES_QP, &qp); in mlx4_INIT2RTR_QP_wrapper()
3605 if (qp->com.from_state != RES_QP_HW) { in mlx4_INIT2RTR_QP_wrapper()
3617 qp->sched_queue = orig_sched_queue; in mlx4_INIT2RTR_QP_wrapper()
3618 qp->param3 = orig_param3; in mlx4_INIT2RTR_QP_wrapper()
3619 qp->vlan_control = orig_vlan_control; in mlx4_INIT2RTR_QP_wrapper()
3620 qp->fvl_rx = orig_fvl_rx; in mlx4_INIT2RTR_QP_wrapper()
3621 qp->pri_path_fl = orig_pri_path_fl; in mlx4_INIT2RTR_QP_wrapper()
3622 qp->vlan_index = orig_vlan_index; in mlx4_INIT2RTR_QP_wrapper()
3623 qp->feup = orig_feup; in mlx4_INIT2RTR_QP_wrapper()
3740 struct res_qp *qp; 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()
3749 atomic_dec(&qp->mtt->ref_count); in mlx4_2RST_QP_wrapper()
3750 atomic_dec(&qp->rcq->ref_count); in mlx4_2RST_QP_wrapper()
3751 atomic_dec(&qp->scq->ref_count); in mlx4_2RST_QP_wrapper()
3752 if (qp->srq) in mlx4_2RST_QP_wrapper()
3753 atomic_dec(&qp->srq->ref_count); in mlx4_2RST_QP_wrapper()
3825 static int qp_attach(struct mlx4_dev *dev, int slave, struct mlx4_qp *qp, in qp_attach() argument
3834 return mlx4_trans_to_dmfs_attach(dev, qp, gid, port, in qp_attach()
3845 return mlx4_qp_attach_common(dev, qp, gid, in qp_attach()
3852 static int qp_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, in qp_detach() argument
3860 return mlx4_qp_detach_common(dev, qp, gid, prot, type); in qp_detach()
3891 struct mlx4_qp qp; /* dummy for calling attach/detach */ in mlx4_QP_ATTACH_wrapper() local
3908 qp.qpn = qpn; in mlx4_QP_ATTACH_wrapper()
3910 err = qp_attach(dev, slave, &qp, gid, block_loopback, prot, in mlx4_QP_ATTACH_wrapper()
3928 err = qp_detach(dev, &qp, gid, prot, type, reg_id); in mlx4_QP_ATTACH_wrapper()
3937 qp_detach(dev, &qp, gid, prot, type, reg_id); in mlx4_QP_ATTACH_wrapper()
4233 struct mlx4_qp qp; /* dummy for calling attach/detach */ in detach_qp() local
4241 qp.qpn = rqp->local_qpn; in detach_qp()
4242 (void) mlx4_qp_detach_common(dev, &qp, rgid->gid, in detach_qp()
4313 struct res_qp *qp; in rem_slave_qps() local
4326 list_for_each_entry_safe(qp, tmp, qp_list, com.list) { in rem_slave_qps()
4328 if (qp->com.owner == slave) { in rem_slave_qps()
4329 qpn = qp->com.res_id; in rem_slave_qps()
4330 detach_qp(dev, slave, qp); in rem_slave_qps()
4331 state = qp->com.from_state; in rem_slave_qps()
4336 rb_erase(&qp->com.node, in rem_slave_qps()
4338 list_del(&qp->com.list); in rem_slave_qps()
4345 kfree(qp); in rem_slave_qps()
4356 qp->local_qpn, 2, in rem_slave_qps()
4362 slave, qp->local_qpn); in rem_slave_qps()
4363 atomic_dec(&qp->rcq->ref_count); in rem_slave_qps()
4364 atomic_dec(&qp->scq->ref_count); in rem_slave_qps()
4365 atomic_dec(&qp->mtt->ref_count); in rem_slave_qps()
4366 if (qp->srq) in rem_slave_qps()
4367 atomic_dec(&qp->srq->ref_count); in rem_slave_qps()
4828 struct res_qp *qp; in mlx4_vf_immed_vlan_work_handler() local
4878 list_for_each_entry_safe(qp, tmp, qp_list, com.list) { in mlx4_vf_immed_vlan_work_handler()
4880 if (qp->com.owner == work->slave) { in mlx4_vf_immed_vlan_work_handler()
4881 if (qp->com.from_state != RES_QP_HW || in mlx4_vf_immed_vlan_work_handler()
4882 !qp->sched_queue || /* no INIT2RTR trans yet */ in mlx4_vf_immed_vlan_work_handler()
4883 mlx4_is_qp_reserved(dev, qp->local_qpn) || in mlx4_vf_immed_vlan_work_handler()
4884 qp->qpc_flags & (1 << MLX4_RSS_QPC_FLAG_OFFSET)) { in mlx4_vf_immed_vlan_work_handler()
4888 port = (qp->sched_queue >> 6 & 1) + 1; in mlx4_vf_immed_vlan_work_handler()
4893 if (MLX4_QP_ST_RC == ((qp->qpc_flags >> 16) & 0xff)) in mlx4_vf_immed_vlan_work_handler()
4899 upd_context->qp_context.param3 = qp->param3; in mlx4_vf_immed_vlan_work_handler()
4900 upd_context->qp_context.pri_path.vlan_control = qp->vlan_control; in mlx4_vf_immed_vlan_work_handler()
4901 upd_context->qp_context.pri_path.fvl_rx = qp->fvl_rx; in mlx4_vf_immed_vlan_work_handler()
4902 upd_context->qp_context.pri_path.vlan_index = qp->vlan_index; in mlx4_vf_immed_vlan_work_handler()
4903 upd_context->qp_context.pri_path.fl = qp->pri_path_fl; in mlx4_vf_immed_vlan_work_handler()
4904 upd_context->qp_context.pri_path.feup = qp->feup; in mlx4_vf_immed_vlan_work_handler()
4906 qp->sched_queue; in mlx4_vf_immed_vlan_work_handler()
4908 upd_context->qp_context.param3 = qp->param3 & ~cpu_to_be32(MLX4_STRIP_VLAN); in mlx4_vf_immed_vlan_work_handler()
4912 qp->fvl_rx | MLX4_FVL_RX_FORCE_ETH_VLAN; in mlx4_vf_immed_vlan_work_handler()
4914 qp->pri_path_fl | MLX4_FL_CV | MLX4_FL_ETH_HIDE_CQE_VLAN; in mlx4_vf_immed_vlan_work_handler()
4916 qp->feup | MLX4_FEUP_FORCE_ETH_UP | MLX4_FVL_FORCE_ETH_VLAN; in mlx4_vf_immed_vlan_work_handler()
4918 qp->sched_queue & 0xC7; in mlx4_vf_immed_vlan_work_handler()
4929 qp->local_qpn & 0xffffff, in mlx4_vf_immed_vlan_work_handler()
4934 work->slave, port, qp->local_qpn, err); in mlx4_vf_immed_vlan_work_handler()