diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/mlx4/device.h | 4 | ||||
| -rw-r--r-- | include/linux/mlx4/qp.h | 7 | ||||
| -rw-r--r-- | include/rdma/ib_verbs.h | 7 |
3 files changed, 16 insertions, 2 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index e92d1bfdb330..7a7f9c1e679a 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
| @@ -123,8 +123,8 @@ enum { | |||
| 123 | MLX4_OPCODE_RDMA_READ = 0x10, | 123 | MLX4_OPCODE_RDMA_READ = 0x10, |
| 124 | MLX4_OPCODE_ATOMIC_CS = 0x11, | 124 | MLX4_OPCODE_ATOMIC_CS = 0x11, |
| 125 | MLX4_OPCODE_ATOMIC_FA = 0x12, | 125 | MLX4_OPCODE_ATOMIC_FA = 0x12, |
| 126 | MLX4_OPCODE_ATOMIC_MASK_CS = 0x14, | 126 | MLX4_OPCODE_MASKED_ATOMIC_CS = 0x14, |
| 127 | MLX4_OPCODE_ATOMIC_MASK_FA = 0x15, | 127 | MLX4_OPCODE_MASKED_ATOMIC_FA = 0x15, |
| 128 | MLX4_OPCODE_BIND_MW = 0x18, | 128 | MLX4_OPCODE_BIND_MW = 0x18, |
| 129 | MLX4_OPCODE_FMR = 0x19, | 129 | MLX4_OPCODE_FMR = 0x19, |
| 130 | MLX4_OPCODE_LOCAL_INVAL = 0x1b, | 130 | MLX4_OPCODE_LOCAL_INVAL = 0x1b, |
diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h index 9f29d86e5dc9..7abe64326f72 100644 --- a/include/linux/mlx4/qp.h +++ b/include/linux/mlx4/qp.h | |||
| @@ -285,6 +285,13 @@ struct mlx4_wqe_atomic_seg { | |||
| 285 | __be64 compare; | 285 | __be64 compare; |
| 286 | }; | 286 | }; |
| 287 | 287 | ||
| 288 | struct mlx4_wqe_masked_atomic_seg { | ||
| 289 | __be64 swap_add; | ||
| 290 | __be64 compare; | ||
| 291 | __be64 swap_add_mask; | ||
| 292 | __be64 compare_mask; | ||
| 293 | }; | ||
| 294 | |||
| 288 | struct mlx4_wqe_data_seg { | 295 | struct mlx4_wqe_data_seg { |
| 289 | __be32 byte_count; | 296 | __be32 byte_count; |
| 290 | __be32 lkey; | 297 | __be32 lkey; |
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index a585e0f92bc3..310d31474034 100644 --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h | |||
| @@ -136,6 +136,7 @@ struct ib_device_attr { | |||
| 136 | int max_qp_init_rd_atom; | 136 | int max_qp_init_rd_atom; |
| 137 | int max_ee_init_rd_atom; | 137 | int max_ee_init_rd_atom; |
| 138 | enum ib_atomic_cap atomic_cap; | 138 | enum ib_atomic_cap atomic_cap; |
| 139 | enum ib_atomic_cap masked_atomic_cap; | ||
| 139 | int max_ee; | 140 | int max_ee; |
| 140 | int max_rdd; | 141 | int max_rdd; |
| 141 | int max_mw; | 142 | int max_mw; |
| @@ -467,6 +468,8 @@ enum ib_wc_opcode { | |||
| 467 | IB_WC_LSO, | 468 | IB_WC_LSO, |
| 468 | IB_WC_LOCAL_INV, | 469 | IB_WC_LOCAL_INV, |
| 469 | IB_WC_FAST_REG_MR, | 470 | IB_WC_FAST_REG_MR, |
| 471 | IB_WC_MASKED_COMP_SWAP, | ||
| 472 | IB_WC_MASKED_FETCH_ADD, | ||
| 470 | /* | 473 | /* |
| 471 | * Set value of IB_WC_RECV so consumers can test if a completion is a | 474 | * Set value of IB_WC_RECV so consumers can test if a completion is a |
| 472 | * receive by testing (opcode & IB_WC_RECV). | 475 | * receive by testing (opcode & IB_WC_RECV). |
| @@ -689,6 +692,8 @@ enum ib_wr_opcode { | |||
| 689 | IB_WR_RDMA_READ_WITH_INV, | 692 | IB_WR_RDMA_READ_WITH_INV, |
| 690 | IB_WR_LOCAL_INV, | 693 | IB_WR_LOCAL_INV, |
| 691 | IB_WR_FAST_REG_MR, | 694 | IB_WR_FAST_REG_MR, |
| 695 | IB_WR_MASKED_ATOMIC_CMP_AND_SWP, | ||
| 696 | IB_WR_MASKED_ATOMIC_FETCH_AND_ADD, | ||
| 692 | }; | 697 | }; |
| 693 | 698 | ||
| 694 | enum ib_send_flags { | 699 | enum ib_send_flags { |
| @@ -731,6 +736,8 @@ struct ib_send_wr { | |||
| 731 | u64 remote_addr; | 736 | u64 remote_addr; |
| 732 | u64 compare_add; | 737 | u64 compare_add; |
| 733 | u64 swap; | 738 | u64 swap; |
| 739 | u64 compare_add_mask; | ||
| 740 | u64 swap_mask; | ||
| 734 | u32 rkey; | 741 | u32 rkey; |
| 735 | } atomic; | 742 | } atomic; |
| 736 | struct { | 743 | struct { |
