aboutsummaryrefslogtreecommitdiffstats
path: root/include/rdma/ib_verbs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/rdma/ib_verbs.h')
-rw-r--r--include/rdma/ib_verbs.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 09509edb1c5f..857b3b9cf120 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).
@@ -552,7 +555,7 @@ enum ib_qp_type {
552 IB_QPT_UC, 555 IB_QPT_UC,
553 IB_QPT_UD, 556 IB_QPT_UD,
554 IB_QPT_RAW_IPV6, 557 IB_QPT_RAW_IPV6,
555 IB_QPT_RAW_ETY 558 IB_QPT_RAW_ETHERTYPE
556}; 559};
557 560
558enum ib_qp_create_flags { 561enum ib_qp_create_flags {
@@ -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
694enum ib_send_flags { 699enum 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 {
@@ -984,9 +991,9 @@ struct ib_device {
984 struct list_head event_handler_list; 991 struct list_head event_handler_list;
985 spinlock_t event_handler_lock; 992 spinlock_t event_handler_lock;
986 993
994 spinlock_t client_data_lock;
987 struct list_head core_list; 995 struct list_head core_list;
988 struct list_head client_data_list; 996 struct list_head client_data_list;
989 spinlock_t client_data_lock;
990 997
991 struct ib_cache cache; 998 struct ib_cache cache;
992 int *pkey_tbl_len; 999 int *pkey_tbl_len;
@@ -1144,8 +1151,8 @@ struct ib_device {
1144 IB_DEV_UNREGISTERED 1151 IB_DEV_UNREGISTERED
1145 } reg_state; 1152 } reg_state;
1146 1153
1147 u64 uverbs_cmd_mask;
1148 int uverbs_abi_ver; 1154 int uverbs_abi_ver;
1155 u64 uverbs_cmd_mask;
1149 1156
1150 char node_desc[64]; 1157 char node_desc[64];
1151 __be64 node_guid; 1158 __be64 node_guid;
@@ -1165,7 +1172,9 @@ struct ib_client {
1165struct ib_device *ib_alloc_device(size_t size); 1172struct ib_device *ib_alloc_device(size_t size);
1166void ib_dealloc_device(struct ib_device *device); 1173void ib_dealloc_device(struct ib_device *device);
1167 1174
1168int ib_register_device (struct ib_device *device); 1175int ib_register_device(struct ib_device *device,
1176 int (*port_callback)(struct ib_device *,
1177 u8, struct kobject *));
1169void ib_unregister_device(struct ib_device *device); 1178void ib_unregister_device(struct ib_device *device);
1170 1179
1171int ib_register_client (struct ib_client *client); 1180int ib_register_client (struct ib_client *client);