hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/uapi/rdma/mlx5-abi.h
....@@ -45,6 +45,11 @@
4545 MLX5_QP_FLAG_BFREG_INDEX = 1 << 3,
4646 MLX5_QP_FLAG_TYPE_DCT = 1 << 4,
4747 MLX5_QP_FLAG_TYPE_DCI = 1 << 5,
48
+ MLX5_QP_FLAG_TIR_ALLOW_SELF_LB_UC = 1 << 6,
49
+ MLX5_QP_FLAG_TIR_ALLOW_SELF_LB_MC = 1 << 7,
50
+ MLX5_QP_FLAG_ALLOW_SCATTER_CQE = 1 << 8,
51
+ MLX5_QP_FLAG_PACKET_BASED_CREDIT_MODE = 1 << 9,
52
+ MLX5_QP_FLAG_UAR_PAGE_INDEX = 1 << 10,
4853 };
4954
5055 enum {
....@@ -74,6 +79,7 @@
7479
7580 enum mlx5_lib_caps {
7681 MLX5_LIB_CAP_4K_UAR = (__u64)1 << 0,
82
+ MLX5_LIB_CAP_DYN_UAR = (__u64)1 << 1,
7783 };
7884
7985 enum mlx5_ib_alloc_uctx_v2_flags {
....@@ -94,6 +100,7 @@
94100 enum mlx5_ib_alloc_ucontext_resp_mask {
95101 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0,
96102 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_DUMP_FILL_MKEY = 1UL << 1,
103
+ MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2,
97104 };
98105
99106 enum mlx5_user_cmds_supp_uhw {
....@@ -233,6 +240,8 @@
233240 /* Support 128B CQE compression */
234241 MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_COMP = 1 << 0,
235242 MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
243
+ MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
244
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
236245 };
237246
238247 enum mlx5_ib_tunnel_offloads {
....@@ -260,6 +269,7 @@
260269
261270 enum mlx5_ib_create_cq_flags {
262271 MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0,
272
+ MLX5_IB_CREATE_CQ_FLAGS_UAR_PAGE_INDEX = 1 << 1,
263273 };
264274
265275 struct mlx5_ib_create_cq {
....@@ -269,6 +279,9 @@
269279 __u8 cqe_comp_en;
270280 __u8 cqe_comp_res_format;
271281 __u16 flags;
282
+ __u16 uar_page_index;
283
+ __u16 reserved0;
284
+ __u32 reserved1;
272285 };
273286
274287 struct mlx5_ib_create_cq_resp {
....@@ -310,6 +323,8 @@
310323 __aligned_u64 sq_buf_addr;
311324 __aligned_u64 access_key;
312325 };
326
+ __u32 ece_options;
327
+ __u32 reserved;
313328 };
314329
315330 /* RX Hash function flags */
....@@ -349,9 +364,24 @@
349364 __u32 flags;
350365 };
351366
367
+enum mlx5_ib_create_qp_resp_mask {
368
+ MLX5_IB_CREATE_QP_RESP_MASK_TIRN = 1UL << 0,
369
+ MLX5_IB_CREATE_QP_RESP_MASK_TISN = 1UL << 1,
370
+ MLX5_IB_CREATE_QP_RESP_MASK_RQN = 1UL << 2,
371
+ MLX5_IB_CREATE_QP_RESP_MASK_SQN = 1UL << 3,
372
+ MLX5_IB_CREATE_QP_RESP_MASK_TIR_ICM_ADDR = 1UL << 4,
373
+};
374
+
352375 struct mlx5_ib_create_qp_resp {
353376 __u32 bfreg_index;
354
- __u32 reserved;
377
+ __u32 ece_options;
378
+ __u32 comp_mask;
379
+ __u32 tirn;
380
+ __u32 tisn;
381
+ __u32 rqn;
382
+ __u32 sqn;
383
+ __u32 reserved1;
384
+ __u64 tir_icm_addr;
355385 };
356386
357387 struct mlx5_ib_alloc_mw {
....@@ -393,12 +423,14 @@
393423 struct mlx5_ib_modify_qp {
394424 __u32 comp_mask;
395425 struct mlx5_ib_burst_info burst_info;
396
- __u32 reserved;
426
+ __u32 ece_options;
397427 };
398428
399429 struct mlx5_ib_modify_qp_resp {
400430 __u32 response_length;
401431 __u32 dctn;
432
+ __u32 ece_options;
433
+ __u32 reserved;
402434 };
403435
404436 struct mlx5_ib_create_wq_resp {