diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2022-09-08 19:48:16 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-09-09 12:59:12 +0300 |
commit | 4d1d157fb6a49f6720a3fb3135299e475d5bc844 (patch) | |
tree | c5d1bf616ac8308cc9c165567a837300d77b1742 /drivers/net/dsa/ocelot/felix_vsc9959.c | |
parent | b69cf1c675723b1417e018971faf2bcb1620ee7a (diff) | |
download | linux-4d1d157fb6a49f6720a3fb3135299e475d5bc844.tar.xz |
net: mscc: ocelot: share the common stat definitions between all drivers
All switch families supported by the ocelot lib (ocelot, felix, seville)
export the same registers so far. But for example felix also has TSN
counters, while the others don't.
To reduce the bloat even further, create an OCELOT_COMMON_STATS() macro
which just lists all stats that are common between switches. The array
elements are still replicated among all of vsc9959_stats_layout,
vsc9953_stats_layout and ocelot_stats_layout.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/ocelot/felix_vsc9959.c')
-rw-r--r-- | drivers/net/dsa/ocelot/felix_vsc9959.c | 94 |
1 files changed, 1 insertions, 93 deletions
diff --git a/drivers/net/dsa/ocelot/felix_vsc9959.c b/drivers/net/dsa/ocelot/felix_vsc9959.c index 3c90809e023d..459288d6222c 100644 --- a/drivers/net/dsa/ocelot/felix_vsc9959.c +++ b/drivers/net/dsa/ocelot/felix_vsc9959.c @@ -623,99 +623,7 @@ static const struct reg_field vsc9959_regfields[REGFIELD_MAX] = { }; static const struct ocelot_stat_layout vsc9959_stats_layout[OCELOT_NUM_STATS] = { - OCELOT_STAT_ETHTOOL(RX_OCTETS, "rx_octets"), - OCELOT_STAT_ETHTOOL(RX_UNICAST, "rx_unicast"), - OCELOT_STAT_ETHTOOL(RX_MULTICAST, "rx_multicast"), - OCELOT_STAT_ETHTOOL(RX_BROADCAST, "rx_broadcast"), - OCELOT_STAT_ETHTOOL(RX_SHORTS, "rx_shorts"), - OCELOT_STAT_ETHTOOL(RX_FRAGMENTS, "rx_fragments"), - OCELOT_STAT_ETHTOOL(RX_JABBERS, "rx_jabbers"), - OCELOT_STAT_ETHTOOL(RX_CRC_ALIGN_ERRS, "rx_crc_align_errs"), - OCELOT_STAT_ETHTOOL(RX_SYM_ERRS, "rx_sym_errs"), - OCELOT_STAT_ETHTOOL(RX_64, "rx_frames_below_65_octets"), - OCELOT_STAT_ETHTOOL(RX_65_127, "rx_frames_65_to_127_octets"), - OCELOT_STAT_ETHTOOL(RX_128_255, "rx_frames_128_to_255_octets"), - OCELOT_STAT_ETHTOOL(RX_256_511, "rx_frames_256_to_511_octets"), - OCELOT_STAT_ETHTOOL(RX_512_1023, "rx_frames_512_to_1023_octets"), - OCELOT_STAT_ETHTOOL(RX_1024_1526, "rx_frames_1024_to_1526_octets"), - OCELOT_STAT_ETHTOOL(RX_1527_MAX, "rx_frames_over_1526_octets"), - OCELOT_STAT_ETHTOOL(RX_PAUSE, "rx_pause"), - OCELOT_STAT_ETHTOOL(RX_CONTROL, "rx_control"), - OCELOT_STAT_ETHTOOL(RX_LONGS, "rx_longs"), - OCELOT_STAT_ETHTOOL(RX_CLASSIFIED_DROPS, "rx_classified_drops"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_0, "rx_red_prio_0"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_1, "rx_red_prio_1"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_2, "rx_red_prio_2"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_3, "rx_red_prio_3"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_4, "rx_red_prio_4"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_5, "rx_red_prio_5"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_6, "rx_red_prio_6"), - OCELOT_STAT_ETHTOOL(RX_RED_PRIO_7, "rx_red_prio_7"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_0, "rx_yellow_prio_0"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_1, "rx_yellow_prio_1"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_2, "rx_yellow_prio_2"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_3, "rx_yellow_prio_3"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_4, "rx_yellow_prio_4"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_5, "rx_yellow_prio_5"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_6, "rx_yellow_prio_6"), - OCELOT_STAT_ETHTOOL(RX_YELLOW_PRIO_7, "rx_yellow_prio_7"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_0, "rx_green_prio_0"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_1, "rx_green_prio_1"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_2, "rx_green_prio_2"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_3, "rx_green_prio_3"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_4, "rx_green_prio_4"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_5, "rx_green_prio_5"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_6, "rx_green_prio_6"), - OCELOT_STAT_ETHTOOL(RX_GREEN_PRIO_7, "rx_green_prio_7"), - OCELOT_STAT_ETHTOOL(TX_OCTETS, "tx_octets"), - OCELOT_STAT_ETHTOOL(TX_UNICAST, "tx_unicast"), - OCELOT_STAT_ETHTOOL(TX_MULTICAST, "tx_multicast"), - OCELOT_STAT_ETHTOOL(TX_BROADCAST, "tx_broadcast"), - OCELOT_STAT_ETHTOOL(TX_COLLISION, "tx_collision"), - OCELOT_STAT_ETHTOOL(TX_DROPS, "tx_drops"), - OCELOT_STAT_ETHTOOL(TX_PAUSE, "tx_pause"), - OCELOT_STAT_ETHTOOL(TX_64, "tx_frames_below_65_octets"), - OCELOT_STAT_ETHTOOL(TX_65_127, "tx_frames_65_to_127_octets"), - OCELOT_STAT_ETHTOOL(TX_128_255, "tx_frames_128_255_octets"), - OCELOT_STAT_ETHTOOL(TX_256_511, "tx_frames_256_511_octets"), - OCELOT_STAT_ETHTOOL(TX_512_1023, "tx_frames_512_1023_octets"), - OCELOT_STAT_ETHTOOL(TX_1024_1526, "tx_frames_1024_1526_octets"), - OCELOT_STAT_ETHTOOL(TX_1527_MAX, "tx_frames_over_1526_octets"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_0, "tx_yellow_prio_0"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_1, "tx_yellow_prio_1"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_2, "tx_yellow_prio_2"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_3, "tx_yellow_prio_3"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_4, "tx_yellow_prio_4"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_5, "tx_yellow_prio_5"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_6, "tx_yellow_prio_6"), - OCELOT_STAT_ETHTOOL(TX_YELLOW_PRIO_7, "tx_yellow_prio_7"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_0, "tx_green_prio_0"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_1, "tx_green_prio_1"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_2, "tx_green_prio_2"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_3, "tx_green_prio_3"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_4, "tx_green_prio_4"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_5, "tx_green_prio_5"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_6, "tx_green_prio_6"), - OCELOT_STAT_ETHTOOL(TX_GREEN_PRIO_7, "tx_green_prio_7"), - OCELOT_STAT_ETHTOOL(TX_AGED, "tx_aged"), - OCELOT_STAT_ETHTOOL(DROP_LOCAL, "drop_local"), - OCELOT_STAT_ETHTOOL(DROP_TAIL, "drop_tail"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_0, "drop_yellow_prio_0"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_1, "drop_yellow_prio_1"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_2, "drop_yellow_prio_2"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_3, "drop_yellow_prio_3"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_4, "drop_yellow_prio_4"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_5, "drop_yellow_prio_5"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_6, "drop_yellow_prio_6"), - OCELOT_STAT_ETHTOOL(DROP_YELLOW_PRIO_7, "drop_yellow_prio_7"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_0, "drop_green_prio_0"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_1, "drop_green_prio_1"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_2, "drop_green_prio_2"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_3, "drop_green_prio_3"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_4, "drop_green_prio_4"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_5, "drop_green_prio_5"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_6, "drop_green_prio_6"), - OCELOT_STAT_ETHTOOL(DROP_GREEN_PRIO_7, "drop_green_prio_7"), + OCELOT_COMMON_STATS, }; static const struct vcap_field vsc9959_vcap_es0_keys[] = { |