Lines Matching refs:mqp
1215 struct mlx4_ib_qp *mqp = to_mqp(ibqp); in add_gid_entry() local
1224 if (mlx4_ib_add_mc(mdev, mqp, gid)) { in add_gid_entry()
1225 ge->port = mqp->port; in add_gid_entry()
1229 mutex_lock(&mqp->mutex); in add_gid_entry()
1230 list_add_tail(&ge->list, &mqp->gid_list); in add_gid_entry()
1231 mutex_unlock(&mqp->mutex); in add_gid_entry()
1252 int mlx4_ib_add_mc(struct mlx4_ib_dev *mdev, struct mlx4_ib_qp *mqp, in mlx4_ib_add_mc() argument
1258 if (!mqp->port) in mlx4_ib_add_mc()
1262 ndev = mdev->iboe.netdevs[mqp->port - 1]; in mlx4_ib_add_mc()
1792 struct mlx4_ib_qp *mqp = to_mqp(ibqp); in mlx4_ib_mcg_attach() local
1804 err = mlx4_multicast_attach(mdev->dev, &mqp->mqp, gid->raw, mqp->port, in mlx4_ib_mcg_attach()
1805 !!(mqp->flags & in mlx4_ib_mcg_attach()
1815 err = mlx4_multicast_attach(mdev->dev, &mqp->mqp, gid->raw, in mlx4_ib_mcg_attach()
1816 (mqp->port == 1) ? 2 : 1, in mlx4_ib_mcg_attach()
1817 !!(mqp->flags & in mlx4_ib_mcg_attach()
1831 mutex_lock(&mqp->mutex); in mlx4_ib_mcg_attach()
1832 list_add(&ib_steering->list, &mqp->steering_rules); in mlx4_ib_mcg_attach()
1833 mutex_unlock(&mqp->mutex); in mlx4_ib_mcg_attach()
1838 mlx4_multicast_detach(mdev->dev, &mqp->mqp, gid->raw, in mlx4_ib_mcg_attach()
1841 mlx4_multicast_detach(mdev->dev, &mqp->mqp, gid->raw, in mlx4_ib_mcg_attach()
1870 struct mlx4_ib_qp *mqp = to_mqp(ibqp); in mlx4_ib_mcg_detach() local
1880 mutex_lock(&mqp->mutex); in mlx4_ib_mcg_detach()
1881 list_for_each_entry(ib_steering, &mqp->steering_rules, list) { in mlx4_ib_mcg_detach()
1887 mutex_unlock(&mqp->mutex); in mlx4_ib_mcg_detach()
1888 if (&ib_steering->list == &mqp->steering_rules) { in mlx4_ib_mcg_detach()
1896 err = mlx4_multicast_detach(mdev->dev, &mqp->mqp, gid->raw, in mlx4_ib_mcg_detach()
1902 err = mlx4_multicast_detach(mdev->dev, &mqp->mqp, gid->raw, in mlx4_ib_mcg_detach()
1908 mutex_lock(&mqp->mutex); in mlx4_ib_mcg_detach()
1909 ge = find_gid_entry(mqp, gid->raw); in mlx4_ib_mcg_detach()
1923 mutex_unlock(&mqp->mutex); in mlx4_ib_mcg_detach()
2228 if (mlx4_update_qp(ibdev->dev, qp->mqp.qpn, MLX4_UPDATE_QP_SMAC, in mlx4_ib_update_qps()
2819 int mlx4_ib_steer_qp_reg(struct mlx4_ib_dev *mdev, struct mlx4_ib_qp *mqp, in mlx4_ib_steer_qp_reg() argument
2833 flow->port = mqp->port; in mlx4_ib_steer_qp_reg()
2842 err = __mlx4_ib_create_flow(&mqp->ibqp, flow, in mlx4_ib_steer_qp_reg()
2845 &mqp->reg_id); in mlx4_ib_steer_qp_reg()
2847 err = __mlx4_ib_destroy_flow(mdev->dev, mqp->reg_id); in mlx4_ib_steer_qp_reg()
2946 struct mlx4_ib_qp *mqp; in mlx4_ib_handle_catas_error() local
2960 list_for_each_entry(mqp, &ibdev->qp_list, qps_list) { in mlx4_ib_handle_catas_error()
2961 spin_lock_irqsave(&mqp->sq.lock, flags_qp); in mlx4_ib_handle_catas_error()
2962 if (mqp->sq.tail != mqp->sq.head) { in mlx4_ib_handle_catas_error()
2963 send_mcq = to_mcq(mqp->ibqp.send_cq); in mlx4_ib_handle_catas_error()
2966 mqp->ibqp.send_cq->comp_handler) { in mlx4_ib_handle_catas_error()
2975 spin_unlock_irqrestore(&mqp->sq.lock, flags_qp); in mlx4_ib_handle_catas_error()
2977 spin_lock_irqsave(&mqp->rq.lock, flags_qp); in mlx4_ib_handle_catas_error()
2979 if (!mqp->ibqp.srq) { in mlx4_ib_handle_catas_error()
2980 if (mqp->rq.tail != mqp->rq.head) { in mlx4_ib_handle_catas_error()
2981 recv_mcq = to_mcq(mqp->ibqp.recv_cq); in mlx4_ib_handle_catas_error()
2984 mqp->ibqp.recv_cq->comp_handler) { in mlx4_ib_handle_catas_error()
2995 spin_unlock_irqrestore(&mqp->rq.lock, flags_qp); in mlx4_ib_handle_catas_error()