diff options
Diffstat (limited to 'include/linux/mlx4')
-rw-r--r-- | include/linux/mlx4/device.h | 10 | ||||
-rw-r--r-- | include/linux/mlx4/qp.h | 22 |
2 files changed, 26 insertions, 6 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index 81b3dd5206e0..655ea0d1ee14 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
@@ -68,6 +68,14 @@ enum { | |||
68 | MLX4_DEV_CAP_FLAG_UD_MCAST = 1 << 21 | 68 | MLX4_DEV_CAP_FLAG_UD_MCAST = 1 << 21 |
69 | }; | 69 | }; |
70 | 70 | ||
71 | enum { | ||
72 | MLX4_BMME_FLAG_LOCAL_INV = 1 << 6, | ||
73 | MLX4_BMME_FLAG_REMOTE_INV = 1 << 7, | ||
74 | MLX4_BMME_FLAG_TYPE_2_WIN = 1 << 9, | ||
75 | MLX4_BMME_FLAG_RESERVED_LKEY = 1 << 10, | ||
76 | MLX4_BMME_FLAG_FAST_REG_WR = 1 << 11, | ||
77 | }; | ||
78 | |||
71 | enum mlx4_event { | 79 | enum mlx4_event { |
72 | MLX4_EVENT_TYPE_COMP = 0x00, | 80 | MLX4_EVENT_TYPE_COMP = 0x00, |
73 | MLX4_EVENT_TYPE_PATH_MIG = 0x01, | 81 | MLX4_EVENT_TYPE_PATH_MIG = 0x01, |
@@ -184,6 +192,8 @@ struct mlx4_caps { | |||
184 | u32 max_msg_sz; | 192 | u32 max_msg_sz; |
185 | u32 page_size_cap; | 193 | u32 page_size_cap; |
186 | u32 flags; | 194 | u32 flags; |
195 | u32 bmme_flags; | ||
196 | u32 reserved_lkey; | ||
187 | u16 stat_rate_support; | 197 | u16 stat_rate_support; |
188 | u8 port_width_cap[MLX4_MAX_PORTS + 1]; | 198 | u8 port_width_cap[MLX4_MAX_PORTS + 1]; |
189 | int max_gso_sz; | 199 | int max_gso_sz; |
diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h index 7f128b266faa..bf8f11982dae 100644 --- a/include/linux/mlx4/qp.h +++ b/include/linux/mlx4/qp.h | |||
@@ -164,11 +164,13 @@ enum { | |||
164 | MLX4_WQE_CTRL_SOLICITED = 1 << 1, | 164 | MLX4_WQE_CTRL_SOLICITED = 1 << 1, |
165 | MLX4_WQE_CTRL_IP_CSUM = 1 << 4, | 165 | MLX4_WQE_CTRL_IP_CSUM = 1 << 4, |
166 | MLX4_WQE_CTRL_TCP_UDP_CSUM = 1 << 5, | 166 | MLX4_WQE_CTRL_TCP_UDP_CSUM = 1 << 5, |
167 | MLX4_WQE_CTRL_INS_VLAN = 1 << 6, | ||
167 | }; | 168 | }; |
168 | 169 | ||
169 | struct mlx4_wqe_ctrl_seg { | 170 | struct mlx4_wqe_ctrl_seg { |
170 | __be32 owner_opcode; | 171 | __be32 owner_opcode; |
171 | u8 reserved2[3]; | 172 | __be16 vlan_tag; |
173 | u8 ins_vlan; | ||
172 | u8 fence_size; | 174 | u8 fence_size; |
173 | /* | 175 | /* |
174 | * High 24 bits are SRC remote buffer; low 8 bits are flags: | 176 | * High 24 bits are SRC remote buffer; low 8 bits are flags: |
@@ -219,7 +221,7 @@ struct mlx4_wqe_datagram_seg { | |||
219 | __be32 reservd[2]; | 221 | __be32 reservd[2]; |
220 | }; | 222 | }; |
221 | 223 | ||
222 | struct mlx4_lso_seg { | 224 | struct mlx4_wqe_lso_seg { |
223 | __be32 mss_hdr_size; | 225 | __be32 mss_hdr_size; |
224 | __be32 header[0]; | 226 | __be32 header[0]; |
225 | }; | 227 | }; |
@@ -233,6 +235,14 @@ struct mlx4_wqe_bind_seg { | |||
233 | __be64 length; | 235 | __be64 length; |
234 | }; | 236 | }; |
235 | 237 | ||
238 | enum { | ||
239 | MLX4_WQE_FMR_PERM_LOCAL_READ = 1 << 27, | ||
240 | MLX4_WQE_FMR_PERM_LOCAL_WRITE = 1 << 28, | ||
241 | MLX4_WQE_FMR_PERM_REMOTE_READ = 1 << 29, | ||
242 | MLX4_WQE_FMR_PERM_REMOTE_WRITE = 1 << 30, | ||
243 | MLX4_WQE_FMR_PERM_ATOMIC = 1 << 31 | ||
244 | }; | ||
245 | |||
236 | struct mlx4_wqe_fmr_seg { | 246 | struct mlx4_wqe_fmr_seg { |
237 | __be32 flags; | 247 | __be32 flags; |
238 | __be32 mem_key; | 248 | __be32 mem_key; |
@@ -255,11 +265,11 @@ struct mlx4_wqe_fmr_ext_seg { | |||
255 | }; | 265 | }; |
256 | 266 | ||
257 | struct mlx4_wqe_local_inval_seg { | 267 | struct mlx4_wqe_local_inval_seg { |
258 | u8 flags; | 268 | __be32 flags; |
259 | u8 reserved1[3]; | 269 | u32 reserved1; |
260 | __be32 mem_key; | 270 | __be32 mem_key; |
261 | u8 reserved2[3]; | 271 | u32 reserved2[2]; |
262 | u8 guest_id; | 272 | __be32 guest_id; |
263 | __be64 pa; | 273 | __be64 pa; |
264 | }; | 274 | }; |
265 | 275 | ||