1) Define new atomic write request/completion in userspace. 2) Define new atomic write capability in userspace.
Unified · Split
| @@ -466,6 +466,7 @@ enum ib_uverbs_wc_opcode { · 465 unmodified lines | ||
| 466 | 466 | IB_UVERBS_WC_BIND_MW = 5, |
| 467 | 467 | IB_UVERBS_WC_LOCAL_INV = 6, |
| 468 | 468 | IB_UVERBS_WC_TSO = 7, |
| 469 | + IB_UVERBS_WC_ATOMIC_WRITE = 9, | |
| 469 | 470 | }; |
| 470 | 471 | |
| 471 | 472 | struct ib_uverbs_wc { |
| @@ -784,6 +785,7 @@ enum ib_uverbs_wr_opcode { · 312 unmodified lines | ||
| 784 | 785 | IB_UVERBS_WR_RDMA_READ_WITH_INV = 11, |
| 785 | 786 | IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12, |
| 786 | 787 | IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13, |
| 788 | + IB_UVERBS_WR_ATOMIC_WRITE = 15, | |
| 787 | 789 | /* Review enum ib_wr_opcode before modifying this */ |
| 788 | 790 | }; |
| 789 | 791 | |
| @@ -1331,6 +1333,8 @@ enum ib_uverbs_device_cap_flags { · 541 unmodified lines | ||
| 1331 | 1333 | /* Deprecated. Please use IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS. */ |
| 1332 | 1334 | IB_UVERBS_DEVICE_RAW_SCATTER_FCS = 1ULL << 34, |
| 1333 | 1335 | IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 1ULL << 36, |
| 1336 | + /* Atomic write attributes */ | |
| 1337 | + IB_UVERBS_DEVICE_ATOMIC_WRITE = 1ULL << 40, | |
| 1334 | 1338 | }; |
| 1335 | 1339 | |
| 1336 | 1340 | enum ib_uverbs_raw_packet_caps { |