Add work completion opcodes to a new ib_uverbs_wc_opcode enum in ib_user_verbs.h. This plays the same role as ib_uverbs_wr_opcode documenting the opcodes in the user space API. Assigned the IB_WC_XXX opcodes in ib_verbs.h to the IB_UVERBS_WC_XXX where they are defined. This follows the same pattern as the IB_WR_XXX opcodes. This fixes an incorrect value for LSO that had crept in but is not currently being used. Added a missing IB_WR_BIND_MW opcode in ib_verbs.h.
Unified · Split
| @@ -952,13 +952,14 @@ enum ib_wc_status { · 951 unmodified lines | |||
| 952 | const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status); | 952 | const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status); |
| 953 | 953 | ||
| 954 | enum ib_wc_opcode { | 954 | enum ib_wc_opcode { |
| 955 | IB_WC_SEND, | 955 | IB_WC_SEND = IB_UVERBS_WC_SEND, |
| 956 | IB_WC_RDMA_WRITE, | 956 | IB_WC_RDMA_WRITE = IB_UVERBS_WC_RDMA_WRITE, |
| 957 | IB_WC_RDMA_READ, | 957 | IB_WC_RDMA_READ = IB_UVERBS_WC_RDMA_READ, |
| 958 | IB_WC_COMP_SWAP, | 958 | IB_WC_COMP_SWAP = IB_UVERBS_WC_COMP_SWAP, |
| 959 | IB_WC_FETCH_ADD, | 959 | IB_WC_FETCH_ADD = IB_UVERBS_WC_FETCH_ADD, |
| 960 | IB_WC_LSO, | 960 | IB_WC_BIND_MW = IB_UVERBS_WC_BIND_MW, |
| 961 | IB_WC_LOCAL_INV, | 961 | IB_WC_LOCAL_INV = IB_UVERBS_WC_LOCAL_INV, |
| 962 | IB_WC_LSO = IB_UVERBS_WC_TSO, | ||
| 962 | IB_WC_REG_MR, | 963 | IB_WC_REG_MR, |
| 963 | IB_WC_MASKED_COMP_SWAP, | 964 | IB_WC_MASKED_COMP_SWAP, |
| 964 | IB_WC_MASKED_FETCH_ADD, | 965 | IB_WC_MASKED_FETCH_ADD, |
| @@ -1291,6 +1292,7 @@ enum ib_wr_opcode { · 326 unmodified lines | |||
| 1291 | IB_WR_RDMA_READ = IB_UVERBS_WR_RDMA_READ, | 1292 | IB_WR_RDMA_READ = IB_UVERBS_WR_RDMA_READ, |
| 1292 | IB_WR_ATOMIC_CMP_AND_SWP = IB_UVERBS_WR_ATOMIC_CMP_AND_SWP, | 1293 | IB_WR_ATOMIC_CMP_AND_SWP = IB_UVERBS_WR_ATOMIC_CMP_AND_SWP, |
| 1293 | IB_WR_ATOMIC_FETCH_AND_ADD = IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD, | 1294 | IB_WR_ATOMIC_FETCH_AND_ADD = IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD, |
| 1295 | IB_WR_BIND_MW = IB_UVERBS_WR_BIND_MW, | ||
| 1294 | IB_WR_LSO = IB_UVERBS_WR_TSO, | 1296 | IB_WR_LSO = IB_UVERBS_WR_TSO, |
| 1295 | IB_WR_SEND_WITH_INV = IB_UVERBS_WR_SEND_WITH_INV, | 1297 | IB_WR_SEND_WITH_INV = IB_UVERBS_WR_SEND_WITH_INV, |
| 1296 | IB_WR_RDMA_READ_WITH_INV = IB_UVERBS_WR_RDMA_READ_WITH_INV, | 1298 | IB_WR_RDMA_READ_WITH_INV = IB_UVERBS_WR_RDMA_READ_WITH_INV, |
| @@ -457,6 +457,17 @@ struct ib_uverbs_poll_cq { · 456 unmodified lines | |||
| 457 | __u32 ne; | 457 | __u32 ne; |
| 458 | }; | 458 | }; |
| 459 | 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, | ||
| 469 | }; | ||
| 470 | |||
| 460 | struct ib_uverbs_wc { | 471 | struct ib_uverbs_wc { |
| 461 | __aligned_u64 wr_id; | 472 | __aligned_u64 wr_id; |
| 462 | __u32 status; | 473 | __u32 status; |