aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mlx4/device.h
diff options
context:
space:
mode:
authorShlomo Pongratz <shlomop@mellanox.com>2012-04-29 10:04:25 -0400
committerRoland Dreier <roland@purestorage.com>2012-05-08 14:54:32 -0400
commitb3416f4476f39f76fd5ca238e8332ba9b8f059d9 (patch)
treeabe8502067df86eba56d32d37f75f6e434acda27 /include/linux/mlx4/device.h
parentc0c1d3d761c32ece93b1c99d200591415e3cbf7c (diff)
mlx4_core: Add second capabilities flags field
This patch adds a 64-bit flags2 features member to struct mlx4_dev to export further features of the hardware. The original flags field tracks features whose support bits are advertised by the firmware in offsets 0x40 and 0x44 of the query device capabilities command. flags2 will track features whose support bits are scattered at various offsets. RSS support is the first feature to be exported through flags2. RSS capabilities are located at offset 0x2e. The size of the RSS indirection table is also given in this offset. Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/linux/mlx4/device.h')
-rw-r--r--include/linux/mlx4/device.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 834c96c5d879..7f5e8d564e8e 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -98,6 +98,12 @@ enum {
98 MLX4_DEV_CAP_FLAG_SENSE_SUPPORT = 1LL << 55 98 MLX4_DEV_CAP_FLAG_SENSE_SUPPORT = 1LL << 55
99}; 99};
100 100
101enum {
102 MLX4_DEV_CAP_FLAG2_RSS = 1LL << 0,
103 MLX4_DEV_CAP_FLAG2_RSS_TOP = 1LL << 1,
104 MLX4_DEV_CAP_FLAG2_RSS_XOR = 1LL << 2
105};
106
101#define MLX4_ATTR_EXTENDED_PORT_INFO cpu_to_be16(0xff90) 107#define MLX4_ATTR_EXTENDED_PORT_INFO cpu_to_be16(0xff90)
102 108
103enum { 109enum {
@@ -292,11 +298,13 @@ struct mlx4_caps {
292 u32 max_msg_sz; 298 u32 max_msg_sz;
293 u32 page_size_cap; 299 u32 page_size_cap;
294 u64 flags; 300 u64 flags;
301 u64 flags2;
295 u32 bmme_flags; 302 u32 bmme_flags;
296 u32 reserved_lkey; 303 u32 reserved_lkey;
297 u16 stat_rate_support; 304 u16 stat_rate_support;
298 u8 port_width_cap[MLX4_MAX_PORTS + 1]; 305 u8 port_width_cap[MLX4_MAX_PORTS + 1];
299 int max_gso_sz; 306 int max_gso_sz;
307 int max_rss_tbl_sz;
300 int reserved_qps_cnt[MLX4_NUM_QP_REGION]; 308 int reserved_qps_cnt[MLX4_NUM_QP_REGION];
301 int reserved_qps; 309 int reserved_qps;
302 int reserved_qps_base[MLX4_NUM_QP_REGION]; 310 int reserved_qps_base[MLX4_NUM_QP_REGION];