diff options
Diffstat (limited to 'drivers/infiniband/hw/mlx4/mlx4_ib.h')
-rw-r--r-- | drivers/infiniband/hw/mlx4/mlx4_ib.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mlx4/mlx4_ib.h b/drivers/infiniband/hw/mlx4/mlx4_ib.h index e9fb39603ee9..837f9aa3d2a2 100644 --- a/drivers/infiniband/hw/mlx4/mlx4_ib.h +++ b/drivers/infiniband/hw/mlx4/mlx4_ib.h | |||
@@ -68,6 +68,8 @@ enum { | |||
68 | /*module param to indicate if SM assigns the alias_GUID*/ | 68 | /*module param to indicate if SM assigns the alias_GUID*/ |
69 | extern int mlx4_ib_sm_guid_assign; | 69 | extern int mlx4_ib_sm_guid_assign; |
70 | 70 | ||
71 | #define MLX4_IB_UC_STEER_QPN_ALIGN 1 | ||
72 | #define MLX4_IB_UC_MAX_NUM_QPS 256 | ||
71 | struct mlx4_ib_ucontext { | 73 | struct mlx4_ib_ucontext { |
72 | struct ib_ucontext ibucontext; | 74 | struct ib_ucontext ibucontext; |
73 | struct mlx4_uar uar; | 75 | struct mlx4_uar uar; |
@@ -153,6 +155,7 @@ struct mlx4_ib_wq { | |||
153 | enum mlx4_ib_qp_flags { | 155 | enum mlx4_ib_qp_flags { |
154 | MLX4_IB_QP_LSO = IB_QP_CREATE_IPOIB_UD_LSO, | 156 | MLX4_IB_QP_LSO = IB_QP_CREATE_IPOIB_UD_LSO, |
155 | MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK = IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK, | 157 | MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK = IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK, |
158 | MLX4_IB_QP_NETIF = IB_QP_CREATE_NETIF_QP, | ||
156 | MLX4_IB_SRIOV_TUNNEL_QP = 1 << 30, | 159 | MLX4_IB_SRIOV_TUNNEL_QP = 1 << 30, |
157 | MLX4_IB_SRIOV_SQP = 1 << 31, | 160 | MLX4_IB_SRIOV_SQP = 1 << 31, |
158 | }; | 161 | }; |
@@ -270,6 +273,7 @@ struct mlx4_ib_qp { | |||
270 | struct list_head gid_list; | 273 | struct list_head gid_list; |
271 | struct list_head steering_rules; | 274 | struct list_head steering_rules; |
272 | struct mlx4_ib_buf *sqp_proxy_rcv; | 275 | struct mlx4_ib_buf *sqp_proxy_rcv; |
276 | u64 reg_id; | ||
273 | 277 | ||
274 | }; | 278 | }; |
275 | 279 | ||
@@ -494,6 +498,9 @@ struct mlx4_ib_dev { | |||
494 | struct kobject *dev_ports_parent[MLX4_MFUNC_MAX]; | 498 | struct kobject *dev_ports_parent[MLX4_MFUNC_MAX]; |
495 | struct mlx4_ib_iov_port iov_ports[MLX4_MAX_PORTS]; | 499 | struct mlx4_ib_iov_port iov_ports[MLX4_MAX_PORTS]; |
496 | struct pkey_mgt pkeys; | 500 | struct pkey_mgt pkeys; |
501 | unsigned long *ib_uc_qpns_bitmap; | ||
502 | int steer_qpn_count; | ||
503 | int steer_qpn_base; | ||
497 | int steering_support; | 504 | int steering_support; |
498 | }; | 505 | }; |
499 | 506 | ||
@@ -753,5 +760,9 @@ void mlx4_ib_device_unregister_sysfs(struct mlx4_ib_dev *device); | |||
753 | 760 | ||
754 | __be64 mlx4_ib_gen_node_guid(void); | 761 | __be64 mlx4_ib_gen_node_guid(void); |
755 | 762 | ||
763 | int mlx4_ib_steer_qp_alloc(struct mlx4_ib_dev *dev, int count, int *qpn); | ||
764 | void mlx4_ib_steer_qp_free(struct mlx4_ib_dev *dev, u32 qpn, int count); | ||
765 | int mlx4_ib_steer_qp_reg(struct mlx4_ib_dev *mdev, struct mlx4_ib_qp *mqp, | ||
766 | int is_attach); | ||
756 | 767 | ||
757 | #endif /* MLX4_IB_H */ | 768 | #endif /* MLX4_IB_H */ |