aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mlx4/device.h
diff options
context:
space:
mode:
authorSean Hefty <sean.hefty@intel.com>2011-06-02 12:01:33 -0400
committerRoland Dreier <roland@purestorage.com>2011-10-13 12:43:03 -0400
commit012a8ff577f95211c6ffd3b77a94c34ebae009b6 (patch)
tree7d1e8d3ca131cc46ca12e879c4554870e0be76f2 /include/linux/mlx4/device.h
parent2622e18ef407a8e8e3ddc3d6f0c77b756c493798 (diff)
IB/mlx4: Add support for XRC domains
Support creating and destroying XRC domains. Any sharing of the XRCD is managed above the low-level driver. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/linux/mlx4/device.h')
-rw-r--r--include/linux/mlx4/device.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 53ef894bfa05..6a3478d0b330 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -61,6 +61,7 @@ enum {
61 MLX4_DEV_CAP_FLAG_RC = 1LL << 0, 61 MLX4_DEV_CAP_FLAG_RC = 1LL << 0,
62 MLX4_DEV_CAP_FLAG_UC = 1LL << 1, 62 MLX4_DEV_CAP_FLAG_UC = 1LL << 1,
63 MLX4_DEV_CAP_FLAG_UD = 1LL << 2, 63 MLX4_DEV_CAP_FLAG_UD = 1LL << 2,
64 MLX4_DEV_CAP_FLAG_XRC = 1LL << 3,
64 MLX4_DEV_CAP_FLAG_SRQ = 1LL << 6, 65 MLX4_DEV_CAP_FLAG_SRQ = 1LL << 6,
65 MLX4_DEV_CAP_FLAG_IPOIB_CSUM = 1LL << 7, 66 MLX4_DEV_CAP_FLAG_IPOIB_CSUM = 1LL << 7,
66 MLX4_DEV_CAP_FLAG_BAD_PKEY_CNTR = 1LL << 8, 67 MLX4_DEV_CAP_FLAG_BAD_PKEY_CNTR = 1LL << 8,
@@ -256,6 +257,8 @@ struct mlx4_caps {
256 int num_qp_per_mgm; 257 int num_qp_per_mgm;
257 int num_pds; 258 int num_pds;
258 int reserved_pds; 259 int reserved_pds;
260 int max_xrcds;
261 int reserved_xrcds;
259 int mtt_entry_sz; 262 int mtt_entry_sz;
260 u32 max_msg_sz; 263 u32 max_msg_sz;
261 u32 page_size_cap; 264 u32 page_size_cap;
@@ -499,6 +502,8 @@ static inline void *mlx4_buf_offset(struct mlx4_buf *buf, int offset)
499 502
500int mlx4_pd_alloc(struct mlx4_dev *dev, u32 *pdn); 503int mlx4_pd_alloc(struct mlx4_dev *dev, u32 *pdn);
501void mlx4_pd_free(struct mlx4_dev *dev, u32 pdn); 504void mlx4_pd_free(struct mlx4_dev *dev, u32 pdn);
505int mlx4_xrcd_alloc(struct mlx4_dev *dev, u32 *xrcdn);
506void mlx4_xrcd_free(struct mlx4_dev *dev, u32 xrcdn);
502 507
503int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar); 508int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar);
504void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar); 509void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar);