mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 23:53:55 +08:00
net/mlx5: Set QP timestamp mode to default
QPs which don't care from timestamp mode, should set the ts_format
to default, otherwise the QP creation could be failed if the timestamp
mode is not supported.
Fixes: 2fe8d4b878
("RDMA/mlx5: Fail QP creation if the device can not support the CQE TS")
Signed-off-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
469549e477
commit
4806f1e2fe
@ -575,6 +575,7 @@ static int mlx5_fpga_conn_create_qp(struct mlx5_fpga_conn *conn,
|
||||
MLX5_SET(qpc, qpc, log_sq_size, ilog2(conn->qp.sq.size));
|
||||
MLX5_SET(qpc, qpc, cqn_snd, conn->cq.mcq.cqn);
|
||||
MLX5_SET(qpc, qpc, cqn_rcv, conn->cq.mcq.cqn);
|
||||
MLX5_SET(qpc, qpc, ts_format, mlx5_get_qp_default_ts(mdev));
|
||||
MLX5_SET64(qpc, qpc, dbr_addr, conn->qp.wq_ctrl.db.dma);
|
||||
if (MLX5_CAP_GEN(mdev, cqe_version) == 1)
|
||||
MLX5_SET(qpc, qpc, user_index, 0xFFFFFF);
|
||||
|
@ -233,6 +233,7 @@ int mlx5i_create_underlay_qp(struct mlx5e_priv *priv)
|
||||
}
|
||||
|
||||
qpc = MLX5_ADDR_OF(create_qp_in, in, qpc);
|
||||
MLX5_SET(qpc, qpc, ts_format, mlx5_get_qp_default_ts(priv->mdev));
|
||||
MLX5_SET(qpc, qpc, st, MLX5_QP_ST_UD);
|
||||
MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED);
|
||||
MLX5_SET(qpc, qpc, ulp_stateless_offload_mode,
|
||||
|
@ -169,6 +169,7 @@ static struct mlx5dr_qp *dr_create_rc_qp(struct mlx5_core_dev *mdev,
|
||||
MLX5_SET(qpc, qpc, log_rq_size, ilog2(dr_qp->rq.wqe_cnt));
|
||||
MLX5_SET(qpc, qpc, rq_type, MLX5_NON_ZERO_RQ);
|
||||
MLX5_SET(qpc, qpc, log_sq_size, ilog2(dr_qp->sq.wqe_cnt));
|
||||
MLX5_SET(qpc, qpc, ts_format, mlx5_get_qp_default_ts(mdev));
|
||||
MLX5_SET64(qpc, qpc, dbr_addr, dr_qp->wq_ctrl.db.dma);
|
||||
if (MLX5_CAP_GEN(mdev, cqe_version) == 1)
|
||||
MLX5_SET(qpc, qpc, user_index, 0xFFFFFF);
|
||||
|
@ -547,4 +547,11 @@ static inline const char *mlx5_qp_state_str(int state)
|
||||
}
|
||||
}
|
||||
|
||||
static inline int mlx5_get_qp_default_ts(struct mlx5_core_dev *dev)
|
||||
{
|
||||
return !MLX5_CAP_ROCE(dev, qp_ts_format) ?
|
||||
MLX5_QPC_TIMESTAMP_FORMAT_FREE_RUNNING :
|
||||
MLX5_QPC_TIMESTAMP_FORMAT_DEFAULT;
|
||||
}
|
||||
|
||||
#endif /* MLX5_QP_H */
|
||||
|
Loading…
Reference in New Issue
Block a user