diff options
author | Sean Hefty <sean.hefty@intel.com> | 2011-06-02 12:01:33 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-10-13 12:43:03 -0400 |
commit | 012a8ff577f95211c6ffd3b77a94c34ebae009b6 (patch) | |
tree | 7d1e8d3ca131cc46ca12e879c4554870e0be76f2 /include/linux/mlx4/device.h | |
parent | 2622e18ef407a8e8e3ddc3d6f0c77b756c493798 (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.h | 5 |
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 | ||
500 | int mlx4_pd_alloc(struct mlx4_dev *dev, u32 *pdn); | 503 | int mlx4_pd_alloc(struct mlx4_dev *dev, u32 *pdn); |
501 | void mlx4_pd_free(struct mlx4_dev *dev, u32 pdn); | 504 | void mlx4_pd_free(struct mlx4_dev *dev, u32 pdn); |
505 | int mlx4_xrcd_alloc(struct mlx4_dev *dev, u32 *xrcdn); | ||
506 | void mlx4_xrcd_free(struct mlx4_dev *dev, u32 xrcdn); | ||
502 | 507 | ||
503 | int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar); | 508 | int mlx4_uar_alloc(struct mlx4_dev *dev, struct mlx4_uar *uar); |
504 | void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar); | 509 | void mlx4_uar_free(struct mlx4_dev *dev, struct mlx4_uar *uar); |