hc
2024-05-10 10ebd8556b7990499c896a550e3d416b444211e6
kernel/include/uapi/rdma/ib_user_verbs.h
....@@ -46,7 +46,7 @@
4646 #define IB_USER_VERBS_ABI_VERSION 6
4747 #define IB_USER_VERBS_CMD_THRESHOLD 50
4848
49
-enum {
49
+enum ib_uverbs_write_cmds {
5050 IB_USER_VERBS_CMD_GET_CONTEXT,
5151 IB_USER_VERBS_CMD_QUERY_DEVICE,
5252 IB_USER_VERBS_CMD_QUERY_PORT,
....@@ -164,6 +164,7 @@
164164 struct ib_uverbs_get_context_resp {
165165 __u32 async_fd;
166166 __u32 num_comp_vectors;
167
+ __aligned_u64 driver_data[0];
167168 };
168169
169170 struct ib_uverbs_query_device {
....@@ -269,6 +270,8 @@
269270 struct ib_uverbs_tm_caps tm_caps;
270271 struct ib_uverbs_cq_moderation_caps cq_moderation_caps;
271272 __aligned_u64 max_dm_size;
273
+ __u32 xrc_odp_caps;
274
+ __u32 reserved;
272275 };
273276
274277 struct ib_uverbs_query_port {
....@@ -310,6 +313,7 @@
310313
311314 struct ib_uverbs_alloc_pd_resp {
312315 __u32 pd_handle;
316
+ __u32 driver_data[0];
313317 };
314318
315319 struct ib_uverbs_dealloc_pd {
....@@ -325,6 +329,7 @@
325329
326330 struct ib_uverbs_open_xrcd_resp {
327331 __u32 xrcd_handle;
332
+ __u32 driver_data[0];
328333 };
329334
330335 struct ib_uverbs_close_xrcd {
....@@ -345,6 +350,7 @@
345350 __u32 mr_handle;
346351 __u32 lkey;
347352 __u32 rkey;
353
+ __u32 driver_data[0];
348354 };
349355
350356 struct ib_uverbs_rereg_mr {
....@@ -356,11 +362,13 @@
356362 __aligned_u64 hca_va;
357363 __u32 pd_handle;
358364 __u32 access_flags;
365
+ __aligned_u64 driver_data[0];
359366 };
360367
361368 struct ib_uverbs_rereg_mr_resp {
362369 __u32 lkey;
363370 __u32 rkey;
371
+ __aligned_u64 driver_data[0];
364372 };
365373
366374 struct ib_uverbs_dereg_mr {
....@@ -372,11 +380,13 @@
372380 __u32 pd_handle;
373381 __u8 mw_type;
374382 __u8 reserved[3];
383
+ __aligned_u64 driver_data[0];
375384 };
376385
377386 struct ib_uverbs_alloc_mw_resp {
378387 __u32 mw_handle;
379388 __u32 rkey;
389
+ __aligned_u64 driver_data[0];
380390 };
381391
382392 struct ib_uverbs_dealloc_mw {
....@@ -419,6 +429,7 @@
419429 struct ib_uverbs_create_cq_resp {
420430 __u32 cq_handle;
421431 __u32 cqe;
432
+ __aligned_u64 driver_data[0];
422433 };
423434
424435 struct ib_uverbs_ex_create_cq_resp {
....@@ -444,6 +455,17 @@
444455 __aligned_u64 response;
445456 __u32 cq_handle;
446457 __u32 ne;
458
+};
459
+
460
+enum ib_uverbs_wc_opcode {
461
+ IB_UVERBS_WC_SEND = 0,
462
+ IB_UVERBS_WC_RDMA_WRITE = 1,
463
+ IB_UVERBS_WC_RDMA_READ = 2,
464
+ IB_UVERBS_WC_COMP_SWAP = 3,
465
+ IB_UVERBS_WC_FETCH_ADD = 4,
466
+ IB_UVERBS_WC_BIND_MW = 5,
467
+ IB_UVERBS_WC_LOCAL_INV = 6,
468
+ IB_UVERBS_WC_TSO = 7,
447469 };
448470
449471 struct ib_uverbs_wc {
....@@ -629,6 +651,7 @@
629651 __u32 max_recv_sge;
630652 __u32 max_inline_data;
631653 __u32 reserved;
654
+ __u32 driver_data[0];
632655 };
633656
634657 struct ib_uverbs_ex_create_qp_resp {
....@@ -731,9 +754,6 @@
731754 struct ib_uverbs_modify_qp base;
732755 __u32 rate_limit;
733756 __u32 reserved;
734
-};
735
-
736
-struct ib_uverbs_modify_qp_resp {
737757 };
738758
739759 struct ib_uverbs_ex_modify_qp_resp {
....@@ -863,10 +883,12 @@
863883 __u32 pd_handle;
864884 __u32 reserved;
865885 struct ib_uverbs_ah_attr attr;
886
+ __aligned_u64 driver_data[0];
866887 };
867888
868889 struct ib_uverbs_create_ah_resp {
869890 __u32 ah_handle;
891
+ __u32 driver_data[0];
870892 };
871893
872894 struct ib_uverbs_destroy_ah {
....@@ -1175,6 +1197,7 @@
11751197 __u32 max_wr;
11761198 __u32 max_sge;
11771199 __u32 srqn;
1200
+ __u32 driver_data[0];
11781201 };
11791202
11801203 struct ib_uverbs_modify_srq {