|
@@ -216,6 +216,12 @@ static const struct counter_desc vport_stats_desc[] = {
|
|
|
MLX5_GET64(ppcnt_reg, pstats->per_prio_counters[prio], \
|
|
|
counter_set.eth_per_prio_grp_data_layout.c##_high)
|
|
|
#define NUM_PPORT_PRIO 8
|
|
|
+#define PPORT_ETH_EXT_OFF(c) \
|
|
|
+ MLX5_BYTE_OFF(ppcnt_reg, \
|
|
|
+ counter_set.eth_extended_cntrs_grp_data_layout.c##_high)
|
|
|
+#define PPORT_ETH_EXT_GET(pstats, c) \
|
|
|
+ MLX5_GET64(ppcnt_reg, (pstats)->eth_ext_counters, \
|
|
|
+ counter_set.eth_extended_cntrs_grp_data_layout.c##_high)
|
|
|
|
|
|
struct mlx5e_pport_stats {
|
|
|
__be64 IEEE_802_3_counters[MLX5_ST_SZ_QW(ppcnt_reg)];
|
|
@@ -224,6 +230,7 @@ struct mlx5e_pport_stats {
|
|
|
__be64 per_prio_counters[NUM_PPORT_PRIO][MLX5_ST_SZ_QW(ppcnt_reg)];
|
|
|
__be64 phy_counters[MLX5_ST_SZ_QW(ppcnt_reg)];
|
|
|
__be64 phy_statistical_counters[MLX5_ST_SZ_QW(ppcnt_reg)];
|
|
|
+ __be64 eth_ext_counters[MLX5_ST_SZ_QW(ppcnt_reg)];
|
|
|
};
|
|
|
|
|
|
static const struct counter_desc pport_802_3_stats_desc[] = {
|
|
@@ -290,6 +297,10 @@ static const struct counter_desc pport_per_prio_pfc_stats_desc[] = {
|
|
|
{ "rx_%s_pause_transition", PPORT_PER_PRIO_OFF(rx_pause_transition) },
|
|
|
};
|
|
|
|
|
|
+static const struct counter_desc pport_eth_ext_stats_desc[] = {
|
|
|
+ { "rx_buffer_passed_thres_phy", PPORT_ETH_EXT_OFF(rx_buffer_almost_full) },
|
|
|
+};
|
|
|
+
|
|
|
#define PCIE_PERF_OFF(c) \
|
|
|
MLX5_BYTE_OFF(mpcnt_reg, counter_set.pcie_perf_cntrs_grp_data_layout.c)
|
|
|
#define PCIE_PERF_GET(pcie_stats, c) \
|
|
@@ -411,12 +422,16 @@ static const struct counter_desc sq_stats_desc[] = {
|
|
|
ARRAY_SIZE(pport_per_prio_traffic_stats_desc)
|
|
|
#define NUM_PPORT_PER_PRIO_PFC_COUNTERS \
|
|
|
ARRAY_SIZE(pport_per_prio_pfc_stats_desc)
|
|
|
+#define NUM_PPORT_ETH_EXT_COUNTERS(priv) \
|
|
|
+ (ARRAY_SIZE(pport_eth_ext_stats_desc) * \
|
|
|
+ MLX5_CAP_PCAM_FEATURE((priv)->mdev, rx_buffer_fullness_counters))
|
|
|
#define NUM_PPORT_COUNTERS(priv) (NUM_PPORT_802_3_COUNTERS + \
|
|
|
NUM_PPORT_2863_COUNTERS + \
|
|
|
NUM_PPORT_2819_COUNTERS + \
|
|
|
NUM_PPORT_PHY_STATISTICAL_COUNTERS(priv) + \
|
|
|
NUM_PPORT_PER_PRIO_TRAFFIC_COUNTERS * \
|
|
|
- NUM_PPORT_PRIO)
|
|
|
+ NUM_PPORT_PRIO + \
|
|
|
+ NUM_PPORT_ETH_EXT_COUNTERS(priv))
|
|
|
#define NUM_PCIE_COUNTERS(priv) (NUM_PCIE_PERF_COUNTERS(priv) + \
|
|
|
NUM_PCIE_PERF_STALL_COUNTERS(priv))
|
|
|
#define NUM_RQ_STATS ARRAY_SIZE(rq_stats_desc)
|