linux/drivers/net/ethernet/mscc
Vladimir Oltean d4c3676507 net: mscc: ocelot: keep ocelot_stat_layout by reg address, not offset
With so many counter addresses recently discovered as being wrong, it is
desirable to at least have a central database of information, rather
than two: one through the SYS_COUNT_* registers (used for
ndo_get_stats64), and the other through the offset field of struct
ocelot_stat_layout elements (used for ethtool -S).

The strategy will be to keep the SYS_COUNT_* definitions as the single
source of truth, but for that we need to expand our current definitions
to cover all registers. Then we need to convert the ocelot region
creation logic, and stats worker, to the read semantics imposed by going
through SYS_COUNT_* absolute register addresses, rather than offsets
of 32-bit words relative to SYS_COUNT_RX_OCTETS (which should have been
SYS_CNT, by the way).

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-08-17 21:58:32 -07:00
..
Kconfig
Makefile
ocelot.c net: mscc: ocelot: keep ocelot_stat_layout by reg address, not offset 2022-08-17 21:58:32 -07:00
ocelot.h net: mscc: ocelot: move ocelot_port_private :: chip_port to ocelot_port :: index 2022-05-12 16:39:18 -07:00
ocelot_devlink.c
ocelot_fdma.c net: ocelot: fix wrong time_after usage 2022-07-07 18:05:36 -07:00
ocelot_fdma.h
ocelot_flower.c net: mscc: ocelot: offload tc action "ok" using an empty action vector 2022-05-22 22:15:19 +01:00
ocelot_io.c
ocelot_mrp.c
ocelot_net.c net: mscc: ocelot: fix race between ndo_get_stats64 and ocelot_check_stats_work 2022-08-17 21:58:32 -07:00
ocelot_police.c net: mscc: ocelot: drop port argument from qos_policer_conf_set 2022-05-04 20:42:15 -07:00
ocelot_police.h net: mscc: ocelot: drop port argument from qos_policer_conf_set 2022-05-04 20:42:15 -07:00
ocelot_ptp.c net: dsa: felix: update base time of time-aware shaper when adjusting PTP time 2022-06-19 09:53:59 +01:00
ocelot_qs.h
ocelot_rew.h
ocelot_vcap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-05-12 16:15:30 -07:00
ocelot_vcap.h
ocelot_vsc7514.c net: mscc: ocelot: keep ocelot_stat_layout by reg address, not offset 2022-08-17 21:58:32 -07:00
vsc7514_regs.c net: mscc: ocelot: keep ocelot_stat_layout by reg address, not offset 2022-08-17 21:58:32 -07:00