net/mlx5: Add PPCNT physical layer statistical group infrastructure
authorGal Pressman <galp@mellanox.com>
Tue, 27 Sep 2016 14:04:51 +0000 (17:04 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 19 Jan 2017 21:20:00 +0000 (23:20 +0200)
Add the needed infrastructure for future use of PPCNT physical layer
statistical group.

Signed-off-by: Gal Pressman <galp@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
include/linux/mlx5/device.h
include/linux/mlx5/mlx5_ifc.h

index f21528abfb748202ac01836a08b1d3717e30df2c..5ad1d3ca47dc9715f36eab1b4e043ce5222313db 100644 (file)
@@ -1115,6 +1115,7 @@ enum {
        MLX5_PER_PRIORITY_COUNTERS_GROUP      = 0x10,
        MLX5_PER_TRAFFIC_CLASS_COUNTERS_GROUP = 0x11,
        MLX5_PHYSICAL_LAYER_COUNTERS_GROUP    = 0x12,
+       MLX5_PHYSICAL_LAYER_STATISTICAL_GROUP = 0x16,
        MLX5_INFINIBAND_PORT_COUNTERS_GROUP   = 0x20,
 };
 
index e8061a95326ac3ceded3db6f1f19e171df1e3380..f4860fa719d9398fa56149f7c2b31cd2cd344fe7 100644 (file)
@@ -1384,6 +1384,42 @@ struct mlx5_ifc_phys_layer_cntrs_bits {
        u8         reserved_at_640[0x180];
 };
 
+struct mlx5_ifc_phys_layer_statistical_cntrs_bits {
+       u8         time_since_last_clear_high[0x20];
+
+       u8         time_since_last_clear_low[0x20];
+
+       u8         phy_received_bits_high[0x20];
+
+       u8         phy_received_bits_low[0x20];
+
+       u8         phy_symbol_errors_high[0x20];
+
+       u8         phy_symbol_errors_low[0x20];
+
+       u8         phy_corrected_bits_high[0x20];
+
+       u8         phy_corrected_bits_low[0x20];
+
+       u8         phy_corrected_bits_lane0_high[0x20];
+
+       u8         phy_corrected_bits_lane0_low[0x20];
+
+       u8         phy_corrected_bits_lane1_high[0x20];
+
+       u8         phy_corrected_bits_lane1_low[0x20];
+
+       u8         phy_corrected_bits_lane2_high[0x20];
+
+       u8         phy_corrected_bits_lane2_low[0x20];
+
+       u8         phy_corrected_bits_lane3_high[0x20];
+
+       u8         phy_corrected_bits_lane3_low[0x20];
+
+       u8         reserved_at_200[0x5c0];
+};
+
 struct mlx5_ifc_ib_port_cntrs_grp_data_layout_bits {
        u8         symbol_error_counter[0x10];
 
@@ -2928,6 +2964,7 @@ union mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits {
        struct mlx5_ifc_eth_per_traffic_grp_data_layout_bits eth_per_traffic_grp_data_layout;
        struct mlx5_ifc_ib_port_cntrs_grp_data_layout_bits ib_port_cntrs_grp_data_layout;
        struct mlx5_ifc_phys_layer_cntrs_bits phys_layer_cntrs;
+       struct mlx5_ifc_phys_layer_statistical_cntrs_bits phys_layer_statistical_cntrs;
        u8         reserved_at_0[0x7c0];
 };