diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/mlx4/cmd.h | 3 | ||||
| -rw-r--r-- | include/linux/mlx4/device.h | 18 |
2 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/mlx4/cmd.h b/include/linux/mlx4/cmd.h index 9a18667c13cc..b56e4587208d 100644 --- a/include/linux/mlx4/cmd.h +++ b/include/linux/mlx4/cmd.h | |||
| @@ -123,6 +123,9 @@ enum { | |||
| 123 | /* debug commands */ | 123 | /* debug commands */ |
| 124 | MLX4_CMD_QUERY_DEBUG_MSG = 0x2a, | 124 | MLX4_CMD_QUERY_DEBUG_MSG = 0x2a, |
| 125 | MLX4_CMD_SET_DEBUG_MSG = 0x2b, | 125 | MLX4_CMD_SET_DEBUG_MSG = 0x2b, |
| 126 | |||
| 127 | /* statistics commands */ | ||
| 128 | MLX4_CMD_QUERY_IF_STAT = 0X54, | ||
| 126 | }; | 129 | }; |
| 127 | 130 | ||
| 128 | enum { | 131 | enum { |
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index fa861134928a..387329e02303 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
| @@ -78,7 +78,8 @@ enum { | |||
| 78 | MLX4_DEV_CAP_FLAG_WOL = 1LL << 38, | 78 | MLX4_DEV_CAP_FLAG_WOL = 1LL << 38, |
| 79 | MLX4_DEV_CAP_FLAG_UDP_RSS = 1LL << 40, | 79 | MLX4_DEV_CAP_FLAG_UDP_RSS = 1LL << 40, |
| 80 | MLX4_DEV_CAP_FLAG_VEP_UC_STEER = 1LL << 41, | 80 | MLX4_DEV_CAP_FLAG_VEP_UC_STEER = 1LL << 41, |
| 81 | MLX4_DEV_CAP_FLAG_VEP_MC_STEER = 1LL << 42 | 81 | MLX4_DEV_CAP_FLAG_VEP_MC_STEER = 1LL << 42, |
| 82 | MLX4_DEV_CAP_FLAG_COUNTERS = 1LL << 48 | ||
| 82 | }; | 83 | }; |
| 83 | 84 | ||
| 84 | enum { | 85 | enum { |
| @@ -274,6 +275,7 @@ struct mlx4_caps { | |||
| 274 | u8 supported_type[MLX4_MAX_PORTS + 1]; | 275 | u8 supported_type[MLX4_MAX_PORTS + 1]; |
| 275 | u32 port_mask; | 276 | u32 port_mask; |
| 276 | enum mlx4_port_type possible_type[MLX4_MAX_PORTS + 1]; | 277 | enum mlx4_port_type possible_type[MLX4_MAX_PORTS + 1]; |
| 278 | u32 max_counters; | ||
| 277 | }; | 279 | }; |
| 278 | 280 | ||
| 279 | struct mlx4_buf_list { | 281 | struct mlx4_buf_list { |
| @@ -438,6 +440,17 @@ union mlx4_ext_av { | |||
| 438 | struct mlx4_eth_av eth; | 440 | struct mlx4_eth_av eth; |
| 439 | }; | 441 | }; |
| 440 | 442 | ||
| 443 | struct mlx4_counter { | ||
| 444 | u8 reserved1[3]; | ||
| 445 | u8 counter_mode; | ||
| 446 | __be32 num_ifc; | ||
| 447 | u32 reserved2[2]; | ||
| 448 | __be64 rx_frames; | ||
| 449 | __be64 rx_bytes; | ||
| 450 | __be64 tx_frames; | ||
| 451 | __be64 tx_bytes; | ||
| 452 | }; | ||
| 453 | |||
| 441 | struct mlx4_dev { | 454 | struct mlx4_dev { |
| 442 | struct pci_dev *pdev; | 455 | struct pci_dev *pdev; |
| 443 | unsigned long flags; | 456 | unsigned long flags; |
| @@ -568,4 +581,7 @@ void mlx4_release_eq(struct mlx4_dev *dev, int vec); | |||
| 568 | int mlx4_wol_read(struct mlx4_dev *dev, u64 *config, int port); | 581 | int mlx4_wol_read(struct mlx4_dev *dev, u64 *config, int port); |
| 569 | int mlx4_wol_write(struct mlx4_dev *dev, u64 config, int port); | 582 | int mlx4_wol_write(struct mlx4_dev *dev, u64 config, int port); |
| 570 | 583 | ||
| 584 | int mlx4_counter_alloc(struct mlx4_dev *dev, u32 *idx); | ||
| 585 | void mlx4_counter_free(struct mlx4_dev *dev, u32 idx); | ||
| 586 | |||
| 571 | #endif /* MLX4_DEVICE_H */ | 587 | #endif /* MLX4_DEVICE_H */ |
