aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mlx5/qp.h32
1 files changed, 24 insertions, 8 deletions
diff --git a/include/linux/mlx5/qp.h b/include/linux/mlx5/qp.h
index 4aa5634dc210..69f5378455b7 100644
--- a/include/linux/mlx5/qp.h
+++ b/include/linux/mlx5/qp.h
@@ -43,6 +43,12 @@
43#define MLX5_CPY_GRD_MASK 0xc0 43#define MLX5_CPY_GRD_MASK 0xc0
44#define MLX5_CPY_APP_MASK 0x30 44#define MLX5_CPY_APP_MASK 0x30
45#define MLX5_CPY_REF_MASK 0x0f 45#define MLX5_CPY_REF_MASK 0x0f
46#define MLX5_BSF_INC_REFTAG (1 << 6)
47#define MLX5_BSF_INL_VALID (1 << 15)
48#define MLX5_BSF_REFRESH_DIF (1 << 14)
49#define MLX5_BSF_REPEAT_BLOCK (1 << 7)
50#define MLX5_BSF_APPTAG_ESCAPE 0x1
51#define MLX5_BSF_APPREF_ESCAPE 0x2
46 52
47enum mlx5_qp_optpar { 53enum mlx5_qp_optpar {
48 MLX5_QP_OPTPAR_ALT_ADDR_PATH = 1 << 0, 54 MLX5_QP_OPTPAR_ALT_ADDR_PATH = 1 << 0,
@@ -290,6 +296,22 @@ struct mlx5_wqe_inline_seg {
290 __be32 byte_count; 296 __be32 byte_count;
291}; 297};
292 298
299enum mlx5_sig_type {
300 MLX5_DIF_CRC = 0x1,
301 MLX5_DIF_IPCS = 0x2,
302};
303
304struct mlx5_bsf_inl {
305 __be16 vld_refresh;
306 __be16 dif_apptag;
307 __be32 dif_reftag;
308 u8 sig_type;
309 u8 rp_inv_seed;
310 u8 rsvd[3];
311 u8 dif_inc_ref_guard_check;
312 __be16 dif_app_bitmask_check;
313};
314
293struct mlx5_bsf { 315struct mlx5_bsf {
294 struct mlx5_bsf_basic { 316 struct mlx5_bsf_basic {
295 u8 bsf_size_sbs; 317 u8 bsf_size_sbs;
@@ -313,14 +335,8 @@ struct mlx5_bsf {
313 __be32 w_tfs_psv; 335 __be32 w_tfs_psv;
314 __be32 m_tfs_psv; 336 __be32 m_tfs_psv;
315 } ext; 337 } ext;
316 struct mlx5_bsf_inl { 338 struct mlx5_bsf_inl w_inl;
317 __be32 w_inl_vld; 339 struct mlx5_bsf_inl m_inl;
318 __be32 w_rsvd;
319 __be64 w_block_format;
320 __be32 m_inl_vld;
321 __be32 m_rsvd;
322 __be64 m_block_format;
323 } inl;
324}; 340};
325 341
326struct mlx5_klm { 342struct mlx5_klm {