IB/mlx5: Align usage of QP1 create flags with rest of mlx5 defines
There is little value in keeping separate function for one flag, provide it directly like any other mlx5 define. Link: https://lore.kernel.org/r/20191020064400.8344-2-leon@kernel.org Signed-off-by: Michael Guralnik <michaelgur@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
Родитель
68abaa765e
Коммит
3f89b01f4b
|
@ -263,7 +263,7 @@ static struct ib_qp *create_gsi_ud_qp(struct mlx5_ib_gsi_qp *gsi)
|
||||||
},
|
},
|
||||||
.sq_sig_type = gsi->sq_sig_type,
|
.sq_sig_type = gsi->sq_sig_type,
|
||||||
.qp_type = IB_QPT_UD,
|
.qp_type = IB_QPT_UD,
|
||||||
.create_flags = mlx5_ib_create_qp_sqpn_qp1(),
|
.create_flags = MLX5_IB_QP_CREATE_SQPN_QP1,
|
||||||
};
|
};
|
||||||
|
|
||||||
return ib_create_qp(pd, &init_attr);
|
return ib_create_qp(pd, &init_attr);
|
||||||
|
|
|
@ -247,12 +247,7 @@ struct mlx5_ib_flow_db {
|
||||||
* These flags are intended for internal use by the mlx5_ib driver, and they
|
* These flags are intended for internal use by the mlx5_ib driver, and they
|
||||||
* rely on the range reserved for that use in the ib_qp_create_flags enum.
|
* rely on the range reserved for that use in the ib_qp_create_flags enum.
|
||||||
*/
|
*/
|
||||||
|
#define MLX5_IB_QP_CREATE_SQPN_QP1 IB_QP_CREATE_RESERVED_START
|
||||||
/* Create a UD QP whose source QP number is 1 */
|
|
||||||
static inline enum ib_qp_create_flags mlx5_ib_create_qp_sqpn_qp1(void)
|
|
||||||
{
|
|
||||||
return IB_QP_CREATE_RESERVED_START;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct wr_list {
|
struct wr_list {
|
||||||
u16 opcode;
|
u16 opcode;
|
||||||
|
|
|
@ -1041,7 +1041,7 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
|
||||||
IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK |
|
IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK |
|
||||||
IB_QP_CREATE_IPOIB_UD_LSO |
|
IB_QP_CREATE_IPOIB_UD_LSO |
|
||||||
IB_QP_CREATE_NETIF_QP |
|
IB_QP_CREATE_NETIF_QP |
|
||||||
mlx5_ib_create_qp_sqpn_qp1()))
|
MLX5_IB_QP_CREATE_SQPN_QP1))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (init_attr->qp_type == MLX5_IB_QPT_REG_UMR)
|
if (init_attr->qp_type == MLX5_IB_QPT_REG_UMR)
|
||||||
|
@ -1104,7 +1104,7 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
|
||||||
MLX5_SET(qpc, qpc, fre, 1);
|
MLX5_SET(qpc, qpc, fre, 1);
|
||||||
MLX5_SET(qpc, qpc, rlky, 1);
|
MLX5_SET(qpc, qpc, rlky, 1);
|
||||||
|
|
||||||
if (init_attr->create_flags & mlx5_ib_create_qp_sqpn_qp1()) {
|
if (init_attr->create_flags & MLX5_IB_QP_CREATE_SQPN_QP1) {
|
||||||
MLX5_SET(qpc, qpc, deth_sqpn, 1);
|
MLX5_SET(qpc, qpc, deth_sqpn, 1);
|
||||||
qp->flags |= MLX5_IB_QP_SQPN_QP1;
|
qp->flags |= MLX5_IB_QP_SQPN_QP1;
|
||||||
}
|
}
|
||||||
|
@ -2140,7 +2140,7 @@ static int create_qp_common(struct mlx5_ib_dev *dev, struct ib_pd *pd,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
if (init_attr->create_flags &
|
if (init_attr->create_flags &
|
||||||
mlx5_ib_create_qp_sqpn_qp1()) {
|
MLX5_IB_QP_CREATE_SQPN_QP1) {
|
||||||
mlx5_ib_dbg(dev, "user-space is not allowed to create UD QPs spoofing as QP1\n");
|
mlx5_ib_dbg(dev, "user-space is not allowed to create UD QPs spoofing as QP1\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
@ -5823,7 +5823,7 @@ int mlx5_ib_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr,
|
||||||
if (qp->flags & MLX5_IB_QP_MANAGED_RECV)
|
if (qp->flags & MLX5_IB_QP_MANAGED_RECV)
|
||||||
qp_init_attr->create_flags |= IB_QP_CREATE_MANAGED_RECV;
|
qp_init_attr->create_flags |= IB_QP_CREATE_MANAGED_RECV;
|
||||||
if (qp->flags & MLX5_IB_QP_SQPN_QP1)
|
if (qp->flags & MLX5_IB_QP_SQPN_QP1)
|
||||||
qp_init_attr->create_flags |= mlx5_ib_create_qp_sqpn_qp1();
|
qp_init_attr->create_flags |= MLX5_IB_QP_CREATE_SQPN_QP1;
|
||||||
|
|
||||||
qp_init_attr->sq_sig_type = qp->sq_signal_bits & MLX5_WQE_CTRL_CQ_UPDATE ?
|
qp_init_attr->sq_sig_type = qp->sq_signal_bits & MLX5_WQE_CTRL_CQ_UPDATE ?
|
||||||
IB_SIGNAL_ALL_WR : IB_SIGNAL_REQ_WR;
|
IB_SIGNAL_ALL_WR : IB_SIGNAL_REQ_WR;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче