| .. | .. |
|---|
| 46 | 46 | #define IB_USER_VERBS_ABI_VERSION 6 |
|---|
| 47 | 47 | #define IB_USER_VERBS_CMD_THRESHOLD 50 |
|---|
| 48 | 48 | |
|---|
| 49 | | -enum { |
|---|
| 49 | +enum ib_uverbs_write_cmds { |
|---|
| 50 | 50 | IB_USER_VERBS_CMD_GET_CONTEXT, |
|---|
| 51 | 51 | IB_USER_VERBS_CMD_QUERY_DEVICE, |
|---|
| 52 | 52 | IB_USER_VERBS_CMD_QUERY_PORT, |
|---|
| .. | .. |
|---|
| 164 | 164 | struct ib_uverbs_get_context_resp { |
|---|
| 165 | 165 | __u32 async_fd; |
|---|
| 166 | 166 | __u32 num_comp_vectors; |
|---|
| 167 | + __aligned_u64 driver_data[0]; |
|---|
| 167 | 168 | }; |
|---|
| 168 | 169 | |
|---|
| 169 | 170 | struct ib_uverbs_query_device { |
|---|
| .. | .. |
|---|
| 269 | 270 | struct ib_uverbs_tm_caps tm_caps; |
|---|
| 270 | 271 | struct ib_uverbs_cq_moderation_caps cq_moderation_caps; |
|---|
| 271 | 272 | __aligned_u64 max_dm_size; |
|---|
| 273 | + __u32 xrc_odp_caps; |
|---|
| 274 | + __u32 reserved; |
|---|
| 272 | 275 | }; |
|---|
| 273 | 276 | |
|---|
| 274 | 277 | struct ib_uverbs_query_port { |
|---|
| .. | .. |
|---|
| 310 | 313 | |
|---|
| 311 | 314 | struct ib_uverbs_alloc_pd_resp { |
|---|
| 312 | 315 | __u32 pd_handle; |
|---|
| 316 | + __u32 driver_data[0]; |
|---|
| 313 | 317 | }; |
|---|
| 314 | 318 | |
|---|
| 315 | 319 | struct ib_uverbs_dealloc_pd { |
|---|
| .. | .. |
|---|
| 325 | 329 | |
|---|
| 326 | 330 | struct ib_uverbs_open_xrcd_resp { |
|---|
| 327 | 331 | __u32 xrcd_handle; |
|---|
| 332 | + __u32 driver_data[0]; |
|---|
| 328 | 333 | }; |
|---|
| 329 | 334 | |
|---|
| 330 | 335 | struct ib_uverbs_close_xrcd { |
|---|
| .. | .. |
|---|
| 345 | 350 | __u32 mr_handle; |
|---|
| 346 | 351 | __u32 lkey; |
|---|
| 347 | 352 | __u32 rkey; |
|---|
| 353 | + __u32 driver_data[0]; |
|---|
| 348 | 354 | }; |
|---|
| 349 | 355 | |
|---|
| 350 | 356 | struct ib_uverbs_rereg_mr { |
|---|
| .. | .. |
|---|
| 356 | 362 | __aligned_u64 hca_va; |
|---|
| 357 | 363 | __u32 pd_handle; |
|---|
| 358 | 364 | __u32 access_flags; |
|---|
| 365 | + __aligned_u64 driver_data[0]; |
|---|
| 359 | 366 | }; |
|---|
| 360 | 367 | |
|---|
| 361 | 368 | struct ib_uverbs_rereg_mr_resp { |
|---|
| 362 | 369 | __u32 lkey; |
|---|
| 363 | 370 | __u32 rkey; |
|---|
| 371 | + __aligned_u64 driver_data[0]; |
|---|
| 364 | 372 | }; |
|---|
| 365 | 373 | |
|---|
| 366 | 374 | struct ib_uverbs_dereg_mr { |
|---|
| .. | .. |
|---|
| 372 | 380 | __u32 pd_handle; |
|---|
| 373 | 381 | __u8 mw_type; |
|---|
| 374 | 382 | __u8 reserved[3]; |
|---|
| 383 | + __aligned_u64 driver_data[0]; |
|---|
| 375 | 384 | }; |
|---|
| 376 | 385 | |
|---|
| 377 | 386 | struct ib_uverbs_alloc_mw_resp { |
|---|
| 378 | 387 | __u32 mw_handle; |
|---|
| 379 | 388 | __u32 rkey; |
|---|
| 389 | + __aligned_u64 driver_data[0]; |
|---|
| 380 | 390 | }; |
|---|
| 381 | 391 | |
|---|
| 382 | 392 | struct ib_uverbs_dealloc_mw { |
|---|
| .. | .. |
|---|
| 419 | 429 | struct ib_uverbs_create_cq_resp { |
|---|
| 420 | 430 | __u32 cq_handle; |
|---|
| 421 | 431 | __u32 cqe; |
|---|
| 432 | + __aligned_u64 driver_data[0]; |
|---|
| 422 | 433 | }; |
|---|
| 423 | 434 | |
|---|
| 424 | 435 | struct ib_uverbs_ex_create_cq_resp { |
|---|
| .. | .. |
|---|
| 444 | 455 | __aligned_u64 response; |
|---|
| 445 | 456 | __u32 cq_handle; |
|---|
| 446 | 457 | __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, |
|---|
| 447 | 469 | }; |
|---|
| 448 | 470 | |
|---|
| 449 | 471 | struct ib_uverbs_wc { |
|---|
| .. | .. |
|---|
| 629 | 651 | __u32 max_recv_sge; |
|---|
| 630 | 652 | __u32 max_inline_data; |
|---|
| 631 | 653 | __u32 reserved; |
|---|
| 654 | + __u32 driver_data[0]; |
|---|
| 632 | 655 | }; |
|---|
| 633 | 656 | |
|---|
| 634 | 657 | struct ib_uverbs_ex_create_qp_resp { |
|---|
| .. | .. |
|---|
| 731 | 754 | struct ib_uverbs_modify_qp base; |
|---|
| 732 | 755 | __u32 rate_limit; |
|---|
| 733 | 756 | __u32 reserved; |
|---|
| 734 | | -}; |
|---|
| 735 | | - |
|---|
| 736 | | -struct ib_uverbs_modify_qp_resp { |
|---|
| 737 | 757 | }; |
|---|
| 738 | 758 | |
|---|
| 739 | 759 | struct ib_uverbs_ex_modify_qp_resp { |
|---|
| .. | .. |
|---|
| 863 | 883 | __u32 pd_handle; |
|---|
| 864 | 884 | __u32 reserved; |
|---|
| 865 | 885 | struct ib_uverbs_ah_attr attr; |
|---|
| 886 | + __aligned_u64 driver_data[0]; |
|---|
| 866 | 887 | }; |
|---|
| 867 | 888 | |
|---|
| 868 | 889 | struct ib_uverbs_create_ah_resp { |
|---|
| 869 | 890 | __u32 ah_handle; |
|---|
| 891 | + __u32 driver_data[0]; |
|---|
| 870 | 892 | }; |
|---|
| 871 | 893 | |
|---|
| 872 | 894 | struct ib_uverbs_destroy_ah { |
|---|
| .. | .. |
|---|
| 1175 | 1197 | __u32 max_wr; |
|---|
| 1176 | 1198 | __u32 max_sge; |
|---|
| 1177 | 1199 | __u32 srqn; |
|---|
| 1200 | + __u32 driver_data[0]; |
|---|
| 1178 | 1201 | }; |
|---|
| 1179 | 1202 | |
|---|
| 1180 | 1203 | struct ib_uverbs_modify_srq { |
|---|