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 /drivers/net/mlx4/fw.c | |
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 'drivers/net/mlx4/fw.c')
-rw-r--r-- | drivers/net/mlx4/fw.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/mlx4/fw.c b/drivers/net/mlx4/fw.c index 7eb8ba822e97..875838b8799c 100644 --- a/drivers/net/mlx4/fw.c +++ b/drivers/net/mlx4/fw.c | |||
@@ -204,6 +204,8 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | |||
204 | #define QUERY_DEV_CAP_MAX_MCG_OFFSET 0x63 | 204 | #define QUERY_DEV_CAP_MAX_MCG_OFFSET 0x63 |
205 | #define QUERY_DEV_CAP_RSVD_PD_OFFSET 0x64 | 205 | #define QUERY_DEV_CAP_RSVD_PD_OFFSET 0x64 |
206 | #define QUERY_DEV_CAP_MAX_PD_OFFSET 0x65 | 206 | #define QUERY_DEV_CAP_MAX_PD_OFFSET 0x65 |
207 | #define QUERY_DEV_CAP_RSVD_XRC_OFFSET 0x66 | ||
208 | #define QUERY_DEV_CAP_MAX_XRC_OFFSET 0x67 | ||
207 | #define QUERY_DEV_CAP_MAX_COUNTERS_OFFSET 0x68 | 209 | #define QUERY_DEV_CAP_MAX_COUNTERS_OFFSET 0x68 |
208 | #define QUERY_DEV_CAP_RDMARC_ENTRY_SZ_OFFSET 0x80 | 210 | #define QUERY_DEV_CAP_RDMARC_ENTRY_SZ_OFFSET 0x80 |
209 | #define QUERY_DEV_CAP_QPC_ENTRY_SZ_OFFSET 0x82 | 211 | #define QUERY_DEV_CAP_QPC_ENTRY_SZ_OFFSET 0x82 |
@@ -318,6 +320,10 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | |||
318 | dev_cap->reserved_pds = field >> 4; | 320 | dev_cap->reserved_pds = field >> 4; |
319 | MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_PD_OFFSET); | 321 | MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_PD_OFFSET); |
320 | dev_cap->max_pds = 1 << (field & 0x3f); | 322 | dev_cap->max_pds = 1 << (field & 0x3f); |
323 | MLX4_GET(field, outbox, QUERY_DEV_CAP_RSVD_XRC_OFFSET); | ||
324 | dev_cap->reserved_xrcds = field >> 4; | ||
325 | MLX4_GET(field, outbox, QUERY_DEV_CAP_MAX_PD_OFFSET); | ||
326 | dev_cap->max_xrcds = 1 << (field & 0x1f); | ||
321 | 327 | ||
322 | MLX4_GET(size, outbox, QUERY_DEV_CAP_RDMARC_ENTRY_SZ_OFFSET); | 328 | MLX4_GET(size, outbox, QUERY_DEV_CAP_RDMARC_ENTRY_SZ_OFFSET); |
323 | dev_cap->rdmarc_entry_sz = size; | 329 | dev_cap->rdmarc_entry_sz = size; |