diff options
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/fw.c | 7 | ||||
-rw-r--r-- | include/linux/mlx4/device.h | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/fw.c b/drivers/net/ethernet/mellanox/mlx4/fw.c index ab470d991ade..f1e70979b4c1 100644 --- a/drivers/net/ethernet/mellanox/mlx4/fw.c +++ b/drivers/net/ethernet/mellanox/mlx4/fw.c | |||
@@ -130,7 +130,8 @@ static void dump_dev_cap_flags2(struct mlx4_dev *dev, u64 flags) | |||
130 | [1] = "RSS Toeplitz Hash Function support", | 130 | [1] = "RSS Toeplitz Hash Function support", |
131 | [2] = "RSS XOR Hash Function support", | 131 | [2] = "RSS XOR Hash Function support", |
132 | [3] = "Device manage flow steering support", | 132 | [3] = "Device manage flow steering support", |
133 | [4] = "Automatic mac reassignment support" | 133 | [4] = "Automatic MAC reassignment support", |
134 | [5] = "Time stamping support" | ||
134 | }; | 135 | }; |
135 | int i; | 136 | int i; |
136 | 137 | ||
@@ -444,6 +445,7 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | |||
444 | #define QUERY_DEV_CAP_MAX_MSG_SZ_OFFSET 0x38 | 445 | #define QUERY_DEV_CAP_MAX_MSG_SZ_OFFSET 0x38 |
445 | #define QUERY_DEV_CAP_MAX_GID_OFFSET 0x3b | 446 | #define QUERY_DEV_CAP_MAX_GID_OFFSET 0x3b |
446 | #define QUERY_DEV_CAP_RATE_SUPPORT_OFFSET 0x3c | 447 | #define QUERY_DEV_CAP_RATE_SUPPORT_OFFSET 0x3c |
448 | #define QUERY_DEV_CAP_CQ_TS_SUPPORT_OFFSET 0x3e | ||
447 | #define QUERY_DEV_CAP_MAX_PKEY_OFFSET 0x3f | 449 | #define QUERY_DEV_CAP_MAX_PKEY_OFFSET 0x3f |
448 | #define QUERY_DEV_CAP_EXT_FLAGS_OFFSET 0x40 | 450 | #define QUERY_DEV_CAP_EXT_FLAGS_OFFSET 0x40 |
449 | #define QUERY_DEV_CAP_FLAGS_OFFSET 0x44 | 451 | #define QUERY_DEV_CAP_FLAGS_OFFSET 0x44 |
@@ -560,6 +562,9 @@ int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | |||
560 | dev_cap->fs_max_num_qp_per_entry = field; | 562 | dev_cap->fs_max_num_qp_per_entry = field; |
561 | MLX4_GET(stat_rate, outbox, QUERY_DEV_CAP_RATE_SUPPORT_OFFSET); | 563 | MLX4_GET(stat_rate, outbox, QUERY_DEV_CAP_RATE_SUPPORT_OFFSET); |
562 | dev_cap->stat_rate_support = stat_rate; | 564 | dev_cap->stat_rate_support = stat_rate; |
565 | MLX4_GET(field, outbox, QUERY_DEV_CAP_CQ_TS_SUPPORT_OFFSET); | ||
566 | if (field & 0x80) | ||
567 | dev_cap->flags2 |= MLX4_DEV_CAP_FLAG2_TS; | ||
563 | MLX4_GET(ext_flags, outbox, QUERY_DEV_CAP_EXT_FLAGS_OFFSET); | 568 | MLX4_GET(ext_flags, outbox, QUERY_DEV_CAP_EXT_FLAGS_OFFSET); |
564 | MLX4_GET(flags, outbox, QUERY_DEV_CAP_FLAGS_OFFSET); | 569 | MLX4_GET(flags, outbox, QUERY_DEV_CAP_FLAGS_OFFSET); |
565 | dev_cap->flags = flags | (u64)ext_flags << 32; | 570 | dev_cap->flags = flags | (u64)ext_flags << 32; |
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index 1bc5a750b330..86ae260c2e53 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
@@ -152,7 +152,8 @@ enum { | |||
152 | MLX4_DEV_CAP_FLAG2_RSS_TOP = 1LL << 1, | 152 | MLX4_DEV_CAP_FLAG2_RSS_TOP = 1LL << 1, |
153 | MLX4_DEV_CAP_FLAG2_RSS_XOR = 1LL << 2, | 153 | MLX4_DEV_CAP_FLAG2_RSS_XOR = 1LL << 2, |
154 | MLX4_DEV_CAP_FLAG2_FS_EN = 1LL << 3, | 154 | MLX4_DEV_CAP_FLAG2_FS_EN = 1LL << 3, |
155 | MLX4_DEV_CAP_FLAGS2_REASSIGN_MAC_EN = 1LL << 4 | 155 | MLX4_DEV_CAP_FLAGS2_REASSIGN_MAC_EN = 1LL << 4, |
156 | MLX4_DEV_CAP_FLAG2_TS = 1LL << 5 | ||
156 | }; | 157 | }; |
157 | 158 | ||
158 | enum { | 159 | enum { |