diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-14 13:09:05 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-14 13:09:05 -0400 |
| commit | e3b1fd56f175526db42ae94c457f29c2fa810aca (patch) | |
| tree | 3e2948ca44fb7fd5348244c2a83eef864b3110b4 /include/linux | |
| parent | 0680eb1f485ba5aac2ee02c9f0622239c9a4b16c (diff) | |
| parent | d087f6ad724dfbcdc3df8e0191b80d9d8d839e71 (diff) | |
Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull infiniband/rdma updates from Roland Dreier:
"Main set of InfiniBand/RDMA updates for 3.17 merge window:
- MR reregistration support
- MAD support for RMPP in userspace
- iSER and SRP initiator updates
- ocrdma hardware driver updates
- other fixes..."
* tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (52 commits)
IB/srp: Fix return value check in srp_init_module()
RDMA/ocrdma: report asic-id in query device
RDMA/ocrdma: Update sli data structure for endianness
RDMA/ocrdma: Obtain SL from device structure
RDMA/uapi: Include socket.h in rdma_user_cm.h
IB/srpt: Handle GID change events
IB/mlx5: Use ARRAY_SIZE instead of sizeof/sizeof[0]
IB/mlx4: Use ARRAY_SIZE instead of sizeof/sizeof[0]
RDMA/amso1100: Check for integer overflow in c2_alloc_cq_buf()
IPoIB: Remove unnecessary test for NULL before debugfs_remove()
IB/mad: Add user space RMPP support
IB/mad: add new ioctl to ABI to support new registration options
IB/mad: Add dev_notice messages for various umad/mad registration failures
IB/mad: Update module to [pr|dev]_* style print messages
IB/ipoib: Avoid multicast join attempts with invalid P_key
IB/umad: Update module to [pr|dev]_* style print messages
IB/ipoib: Avoid flushing the workqueue from worker context
IB/ipoib: Use P_Key change event instead of P_Key polling mechanism
IB/ipath: Add P_Key change event support
mlx4_core: Add support for secure-host and SMP firewall
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/mlx4/cmd.h | 7 | ||||
| -rw-r--r-- | include/linux/mlx4/device.h | 17 |
2 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/mlx4/cmd.h b/include/linux/mlx4/cmd.h index c8450366c130..379c02648ab3 100644 --- a/include/linux/mlx4/cmd.h +++ b/include/linux/mlx4/cmd.h | |||
| @@ -116,6 +116,7 @@ enum { | |||
| 116 | /* special QP and management commands */ | 116 | /* special QP and management commands */ |
| 117 | MLX4_CMD_CONF_SPECIAL_QP = 0x23, | 117 | MLX4_CMD_CONF_SPECIAL_QP = 0x23, |
| 118 | MLX4_CMD_MAD_IFC = 0x24, | 118 | MLX4_CMD_MAD_IFC = 0x24, |
| 119 | MLX4_CMD_MAD_DEMUX = 0x203, | ||
| 119 | 120 | ||
| 120 | /* multicast commands */ | 121 | /* multicast commands */ |
| 121 | MLX4_CMD_READ_MCG = 0x25, | 122 | MLX4_CMD_READ_MCG = 0x25, |
| @@ -186,6 +187,12 @@ enum { | |||
| 186 | }; | 187 | }; |
| 187 | 188 | ||
| 188 | enum { | 189 | enum { |
| 190 | MLX4_CMD_MAD_DEMUX_CONFIG = 0, | ||
| 191 | MLX4_CMD_MAD_DEMUX_QUERY_STATE = 1, | ||
| 192 | MLX4_CMD_MAD_DEMUX_QUERY_RESTR = 2, /* Query mad demux restrictions */ | ||
| 193 | }; | ||
| 194 | |||
| 195 | enum { | ||
| 189 | MLX4_CMD_WRAPPED, | 196 | MLX4_CMD_WRAPPED, |
| 190 | MLX4_CMD_NATIVE | 197 | MLX4_CMD_NATIVE |
| 191 | }; | 198 | }; |
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index e15b1544ea83..071f6b234604 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
| @@ -183,6 +183,7 @@ enum { | |||
| 183 | MLX4_DEV_CAP_FLAG2_UPDATE_QP = 1LL << 8, | 183 | MLX4_DEV_CAP_FLAG2_UPDATE_QP = 1LL << 8, |
| 184 | MLX4_DEV_CAP_FLAG2_DMFS_IPOIB = 1LL << 9, | 184 | MLX4_DEV_CAP_FLAG2_DMFS_IPOIB = 1LL << 9, |
| 185 | MLX4_DEV_CAP_FLAG2_VXLAN_OFFLOADS = 1LL << 10, | 185 | MLX4_DEV_CAP_FLAG2_VXLAN_OFFLOADS = 1LL << 10, |
| 186 | MLX4_DEV_CAP_FLAG2_MAD_DEMUX = 1LL << 11, | ||
| 186 | }; | 187 | }; |
| 187 | 188 | ||
| 188 | enum { | 189 | enum { |
| @@ -273,6 +274,7 @@ enum { | |||
| 273 | MLX4_PERM_REMOTE_WRITE = 1 << 13, | 274 | MLX4_PERM_REMOTE_WRITE = 1 << 13, |
| 274 | MLX4_PERM_ATOMIC = 1 << 14, | 275 | MLX4_PERM_ATOMIC = 1 << 14, |
| 275 | MLX4_PERM_BIND_MW = 1 << 15, | 276 | MLX4_PERM_BIND_MW = 1 << 15, |
| 277 | MLX4_PERM_MASK = 0xFC00 | ||
| 276 | }; | 278 | }; |
| 277 | 279 | ||
| 278 | enum { | 280 | enum { |
| @@ -1254,6 +1256,21 @@ int mlx4_vf_smi_enabled(struct mlx4_dev *dev, int slave, int port); | |||
| 1254 | int mlx4_vf_get_enable_smi_admin(struct mlx4_dev *dev, int slave, int port); | 1256 | int mlx4_vf_get_enable_smi_admin(struct mlx4_dev *dev, int slave, int port); |
| 1255 | int mlx4_vf_set_enable_smi_admin(struct mlx4_dev *dev, int slave, int port, | 1257 | int mlx4_vf_set_enable_smi_admin(struct mlx4_dev *dev, int slave, int port, |
| 1256 | int enable); | 1258 | int enable); |
| 1259 | int mlx4_mr_hw_get_mpt(struct mlx4_dev *dev, struct mlx4_mr *mmr, | ||
| 1260 | struct mlx4_mpt_entry ***mpt_entry); | ||
| 1261 | int mlx4_mr_hw_write_mpt(struct mlx4_dev *dev, struct mlx4_mr *mmr, | ||
| 1262 | struct mlx4_mpt_entry **mpt_entry); | ||
| 1263 | int mlx4_mr_hw_change_pd(struct mlx4_dev *dev, struct mlx4_mpt_entry *mpt_entry, | ||
| 1264 | u32 pdn); | ||
| 1265 | int mlx4_mr_hw_change_access(struct mlx4_dev *dev, | ||
| 1266 | struct mlx4_mpt_entry *mpt_entry, | ||
| 1267 | u32 access); | ||
| 1268 | void mlx4_mr_hw_put_mpt(struct mlx4_dev *dev, | ||
| 1269 | struct mlx4_mpt_entry **mpt_entry); | ||
| 1270 | void mlx4_mr_rereg_mem_cleanup(struct mlx4_dev *dev, struct mlx4_mr *mr); | ||
| 1271 | int mlx4_mr_rereg_mem_write(struct mlx4_dev *dev, struct mlx4_mr *mr, | ||
| 1272 | u64 iova, u64 size, int npages, | ||
| 1273 | int page_shift, struct mlx4_mpt_entry *mpt_entry); | ||
| 1257 | 1274 | ||
| 1258 | /* Returns true if running in low memory profile (kdump kernel) */ | 1275 | /* Returns true if running in low memory profile (kdump kernel) */ |
| 1259 | static inline bool mlx4_low_memory_profile(void) | 1276 | static inline bool mlx4_low_memory_profile(void) |
