IB/mlx5: Add missing XRC options to QP optional params mask
The QP transition optional parameters for the various transition for XRC QPs are identical to those for RC QPs. Many of the XRC QP transition optional parameter bits are missing from the QP optional mask table. These omissions caused failures when doing XRC QP state transitions. For example, when trying to change the response timer of an XRC receive QP via the RTS2RTS transition, the new timer value was ignored because MLX5_QP_OPTPAR_RNR_TIMEOUT bit was missing from the optional params mask for XRC qps for the RTS2RTS transition. Fix this by adding the missing XRC optional parameters for all QP transitions to the opt_mask table. Fixes:e126ba97db
("mlx5: Add driver for Mellanox Connect-IB adapters") Fixes:a4774e9095
("IB/mlx5: Fix opt param mask according to firmware spec") Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
4f33dd41b2
commit
8f4426aa19
|
@ -3002,6 +3002,11 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q
|
|||
[MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_PKEY_INDEX |
|
||||
MLX5_QP_OPTPAR_Q_KEY |
|
||||
MLX5_QP_OPTPAR_PRI_PORT,
|
||||
[MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RRE |
|
||||
MLX5_QP_OPTPAR_RAE |
|
||||
MLX5_QP_OPTPAR_RWE |
|
||||
MLX5_QP_OPTPAR_PKEY_INDEX |
|
||||
MLX5_QP_OPTPAR_PRI_PORT,
|
||||
},
|
||||
[MLX5_QP_STATE_RTR] = {
|
||||
[MLX5_QP_ST_RC] = MLX5_QP_OPTPAR_ALT_ADDR_PATH |
|
||||
|
@ -3035,6 +3040,12 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q
|
|||
MLX5_QP_OPTPAR_RWE |
|
||||
MLX5_QP_OPTPAR_PM_STATE,
|
||||
[MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_Q_KEY,
|
||||
[MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_ALT_ADDR_PATH |
|
||||
MLX5_QP_OPTPAR_RRE |
|
||||
MLX5_QP_OPTPAR_RAE |
|
||||
MLX5_QP_OPTPAR_RWE |
|
||||
MLX5_QP_OPTPAR_PM_STATE |
|
||||
MLX5_QP_OPTPAR_RNR_TIMEOUT,
|
||||
},
|
||||
},
|
||||
[MLX5_QP_STATE_RTS] = {
|
||||
|
@ -3051,6 +3062,12 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q
|
|||
[MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_Q_KEY |
|
||||
MLX5_QP_OPTPAR_SRQN |
|
||||
MLX5_QP_OPTPAR_CQN_RCV,
|
||||
[MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RRE |
|
||||
MLX5_QP_OPTPAR_RAE |
|
||||
MLX5_QP_OPTPAR_RWE |
|
||||
MLX5_QP_OPTPAR_RNR_TIMEOUT |
|
||||
MLX5_QP_OPTPAR_PM_STATE |
|
||||
MLX5_QP_OPTPAR_ALT_ADDR_PATH,
|
||||
},
|
||||
},
|
||||
[MLX5_QP_STATE_SQER] = {
|
||||
|
@ -3062,6 +3079,10 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q
|
|||
MLX5_QP_OPTPAR_RWE |
|
||||
MLX5_QP_OPTPAR_RAE |
|
||||
MLX5_QP_OPTPAR_RRE,
|
||||
[MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RNR_TIMEOUT |
|
||||
MLX5_QP_OPTPAR_RWE |
|
||||
MLX5_QP_OPTPAR_RAE |
|
||||
MLX5_QP_OPTPAR_RRE,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue