aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mlx4
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mlx4')
-rw-r--r--include/linux/mlx4/cmd.h1
-rw-r--r--include/linux/mlx4/device.h3
-rw-r--r--include/linux/mlx4/qp.h34
3 files changed, 37 insertions, 1 deletions
diff --git a/include/linux/mlx4/cmd.h b/include/linux/mlx4/cmd.h
index 8074a9711cf1..bb1c8096a7eb 100644
--- a/include/linux/mlx4/cmd.h
+++ b/include/linux/mlx4/cmd.h
@@ -111,6 +111,7 @@ enum {
111 MLX4_CMD_INIT2INIT_QP = 0x2d, 111 MLX4_CMD_INIT2INIT_QP = 0x2d,
112 MLX4_CMD_SUSPEND_QP = 0x32, 112 MLX4_CMD_SUSPEND_QP = 0x32,
113 MLX4_CMD_UNSUSPEND_QP = 0x33, 113 MLX4_CMD_UNSUSPEND_QP = 0x33,
114 MLX4_CMD_UPDATE_QP = 0x61,
114 /* special QP and management commands */ 115 /* special QP and management commands */
115 MLX4_CMD_CONF_SPECIAL_QP = 0x23, 116 MLX4_CMD_CONF_SPECIAL_QP = 0x23,
116 MLX4_CMD_MAD_IFC = 0x24, 117 MLX4_CMD_MAD_IFC = 0x24,
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index a51b0134ce18..52c23a892bab 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -157,7 +157,8 @@ enum {
157 MLX4_DEV_CAP_FLAGS2_REASSIGN_MAC_EN = 1LL << 4, 157 MLX4_DEV_CAP_FLAGS2_REASSIGN_MAC_EN = 1LL << 4,
158 MLX4_DEV_CAP_FLAG2_TS = 1LL << 5, 158 MLX4_DEV_CAP_FLAG2_TS = 1LL << 5,
159 MLX4_DEV_CAP_FLAG2_VLAN_CONTROL = 1LL << 6, 159 MLX4_DEV_CAP_FLAG2_VLAN_CONTROL = 1LL << 6,
160 MLX4_DEV_CAP_FLAG2_FSM = 1LL << 7 160 MLX4_DEV_CAP_FLAG2_FSM = 1LL << 7,
161 MLX4_DEV_CAP_FLAG2_UPDATE_QP = 1LL << 8
161}; 162};
162 163
163enum { 164enum {
diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h
index 352eec9df1b8..f43e32aa054a 100644
--- a/include/linux/mlx4/qp.h
+++ b/include/linux/mlx4/qp.h
@@ -206,6 +206,40 @@ struct mlx4_qp_context {
206 u32 reserved5[10]; 206 u32 reserved5[10];
207}; 207};
208 208
209struct mlx4_update_qp_context {
210 __be64 qp_mask;
211 __be64 primary_addr_path_mask;
212 __be64 secondary_addr_path_mask;
213 u64 reserved1;
214 struct mlx4_qp_context qp_context;
215 u64 reserved2[58];
216};
217
218enum {
219 MLX4_UPD_QP_MASK_PM_STATE = 32,
220 MLX4_UPD_QP_MASK_VSD = 33,
221};
222
223enum {
224 MLX4_UPD_QP_PATH_MASK_PKEY_INDEX = 0 + 32,
225 MLX4_UPD_QP_PATH_MASK_FSM = 1 + 32,
226 MLX4_UPD_QP_PATH_MASK_MAC_INDEX = 2 + 32,
227 MLX4_UPD_QP_PATH_MASK_FVL = 3 + 32,
228 MLX4_UPD_QP_PATH_MASK_CV = 4 + 32,
229 MLX4_UPD_QP_PATH_MASK_VLAN_INDEX = 5 + 32,
230 MLX4_UPD_QP_PATH_MASK_ETH_HIDE_CQE_VLAN = 6 + 32,
231 MLX4_UPD_QP_PATH_MASK_ETH_TX_BLOCK_UNTAGGED = 7 + 32,
232 MLX4_UPD_QP_PATH_MASK_ETH_TX_BLOCK_1P = 8 + 32,
233 MLX4_UPD_QP_PATH_MASK_ETH_TX_BLOCK_TAGGED = 9 + 32,
234 MLX4_UPD_QP_PATH_MASK_ETH_RX_BLOCK_UNTAGGED = 10 + 32,
235 MLX4_UPD_QP_PATH_MASK_ETH_RX_BLOCK_1P = 11 + 32,
236 MLX4_UPD_QP_PATH_MASK_ETH_RX_BLOCK_TAGGED = 12 + 32,
237 MLX4_UPD_QP_PATH_MASK_FEUP = 13 + 32,
238 MLX4_UPD_QP_PATH_MASK_SCHED_QUEUE = 14 + 32,
239 MLX4_UPD_QP_PATH_MASK_IF_COUNTER_INDEX = 15 + 32,
240 MLX4_UPD_QP_PATH_MASK_FVL_RX = 16 + 32,
241};
242
209enum { /* param3 */ 243enum { /* param3 */
210 MLX4_STRIP_VLAN = 1 << 30 244 MLX4_STRIP_VLAN = 1 << 30
211}; 245};