linux/drivers/net/dsa
Vladimir Oltean e32036e1ae net: mscc: ocelot: add support for all sorts of standardized counters present in DSA
DSA is integrated with the new standardized ethtool -S --groups option,
but the felix driver only exports unstructured statistics.

Reuse the array of 64-bit statistics collected by ocelot_check_stats_work(),
but just export select values from it.

Since ocelot_check_stats_work() runs periodically to avoid 32-bit
overflow, and the ethtool calling context is sleepable, we update the
64-bit stats one more time, to provide up-to-date values. The locking
scheme with a mutex followed by a spinlock is a bit hard to digest, so
we create and use a ocelot_port_stats_run() helper with a callback that
populates the ethool stats group the caller is interested in.

The exported stats are:
ethtool -S swp0 --groups eth-phy
ethtool -S swp0 --groups eth-mac
ethtool -S swp0 --groups eth-ctrl
ethtool -S swp0 --groups rmon
ethtool --include-statistics --show-pause swp0

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-09-09 10:59:12 +01:00
..
b53 net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
hirschmann net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-08 18:38:30 +02:00
mv88e6xxx net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
ocelot net: mscc: ocelot: add support for all sorts of standardized counters present in DSA 2022-09-09 10:59:12 +01:00
qca net: dsa: qca8k: fix NULL pointer dereference for of_device_get_match_data 2022-09-06 11:18:15 +02:00
realtek net: dsa: realtek: rtl8365mb: handle PHY interface modes correctly 2022-06-16 20:44:47 -07:00
sja1105 net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions() 2022-08-17 21:58:15 -07:00
xrs700x net: dsa: xrs700x: Use irqsave variant for u64 stats update 2022-08-29 13:02:26 +01:00
bcm_sf2_cfp.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
bcm_sf2_regs.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
bcm_sf2.c net: dsa: bcm_sf2: Have PHYLINK configure CPU/IMP port(s) 2022-08-17 10:55:03 -07:00
bcm_sf2.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
dsa_loop_bdinfo.c
dsa_loop.c net: dsa: pass extack to .port_bridge_join driver methods 2022-02-27 11:06:14 +00:00
dsa_loop.h
Kconfig net: dsa: LAN9303: Add basic support for LAN9354 2022-09-07 11:06:04 +01:00
lan9303_i2c.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lan9303_mdio.c net: dsa: LAN9303: Add basic support for LAN9354 2022-09-07 11:06:04 +01:00
lan9303-core.c net: dsa: LAN9303: Add basic support for LAN9354 2022-09-07 11:06:04 +01:00
lan9303.h net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lantiq_gswip.c net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list 2022-06-07 20:45:14 -07:00
lantiq_pce.h
Makefile net: dsa: qca8k: move driver to qca dir 2022-07-15 11:57:13 +01:00
mt7530.c net: dsa: mt7530: get cpu-port via dp->cpu_dp instead of constant 2022-06-14 22:35:16 -07:00
mt7530.h net: dsa: mt7530: get cpu-port via dp->cpu_dp instead of constant 2022-06-14 22:35:16 -07:00
mv88e6060.c net: dsa: mv88e6060: prevent crash on an unused port 2022-08-12 17:24:44 -07:00
mv88e6060.h
rzn1_a5psw.c net: dsa: rzn1-a5psw: add missing of_node_put() in a5psw_pcs_get() 2022-06-30 21:07:03 -07:00
rzn1_a5psw.h net: dsa: rzn1-a5psw: add FDB support 2022-06-27 11:37:55 +01:00
vitesse-vsc73xx-core.c net: dsa: vsc73xxx: Get rid of duplicate of_node assignment 2021-12-03 14:13:02 +00:00
vitesse-vsc73xx-platform.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
vitesse-vsc73xx-spi.c net: dsa: vitesse-vsc73xx: silent spi_device_id warnings 2022-07-19 12:20:40 +02:00
vitesse-vsc73xx.h net: dsa: vsc73xxx: Make vsc73xx_remove() return void 2021-11-15 13:15:07 +00:00