diff options
author | Yevgeny Petrilin <yevgenyp@mellanox.co.il> | 2010-08-23 23:46:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-24 17:57:09 -0400 |
commit | 0533943c5c45cce2e26432bf0a6b8e114757c897 (patch) | |
tree | 8405db10a70b0a2a9f4c04528e4bcffdbb7189c6 /drivers/net/mlx4/fw.c | |
parent | d7e1a487d31933deba742c1bd3ffe0f73220b729 (diff) |
mlx4_en: UDP RSS support
Adding capability for RSS for UDP traffic, hashing is done based on
IP addresses and UDP port number.
The support depends on HW/FW capabilities.
Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/mlx4/fw.c')
-rw-r--r-- | drivers/net/mlx4/fw.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/mlx4/fw.c b/drivers/net/mlx4/fw.c index 515c6348f32b..b716e1a1b298 100644 --- a/drivers/net/mlx4/fw.c +++ b/drivers/net/mlx4/fw.c | |||
@@ -179,6 +179,7 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | |||
179 | #define QUERY_DEV_CAP_MAX_GID_OFFSET 0x3b | 179 | #define QUERY_DEV_CAP_MAX_GID_OFFSET 0x3b |
180 | #define QUERY_DEV_CAP_RATE_SUPPORT_OFFSET 0x3c | 180 | #define QUERY_DEV_CAP_RATE_SUPPORT_OFFSET 0x3c |
181 | #define QUERY_DEV_CAP_MAX_PKEY_OFFSET 0x3f | 181 | #define QUERY_DEV_CAP_MAX_PKEY_OFFSET 0x3f |
182 | #define QUERY_DEV_CAP_UDP_RSS_OFFSET 0x42 | ||
182 | #define QUERY_DEV_CAP_ETH_UC_LOOPBACK_OFFSET 0x43 | 183 | #define QUERY_DEV_CAP_ETH_UC_LOOPBACK_OFFSET 0x43 |
183 | #define QUERY_DEV_CAP_FLAGS_OFFSET 0x44 | 184 | #define QUERY_DEV_CAP_FLAGS_OFFSET 0x44 |
184 | #define QUERY_DEV_CAP_RSVD_UAR_OFFSET 0x48 | 185 | #define QUERY_DEV_CAP_RSVD_UAR_OFFSET 0x48 |
@@ -270,6 +271,8 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | |||
270 | dev_cap->max_msg_sz = 1 << (field & 0x1f); | 271 | dev_cap->max_msg_sz = 1 << (field & 0x1f); |
271 | MLX4_GET(stat_rate, outbox, QUERY_DEV_CAP_RATE_SUPPORT_OFFSET); | 272 | MLX4_GET(stat_rate, outbox, QUERY_DEV_CAP_RATE_SUPPORT_OFFSET); |
272 | dev_cap->stat_rate_support = stat_rate; | 273 | dev_cap->stat_rate_support = stat_rate; |
274 | MLX4_GET(field, outbox, QUERY_DEV_CAP_UDP_RSS_OFFSET); | ||
275 | dev_cap->udp_rss = field & 0x1; | ||
273 | MLX4_GET(field, outbox, QUERY_DEV_CAP_ETH_UC_LOOPBACK_OFFSET); | 276 | MLX4_GET(field, outbox, QUERY_DEV_CAP_ETH_UC_LOOPBACK_OFFSET); |
274 | dev_cap->loopback_support = field & 0x1; | 277 | dev_cap->loopback_support = field & 0x1; |
275 | MLX4_GET(dev_cap->flags, outbox, QUERY_DEV_CAP_FLAGS_OFFSET); | 278 | MLX4_GET(dev_cap->flags, outbox, QUERY_DEV_CAP_FLAGS_OFFSET); |