diff options
author | Oleksij Rempel <o.rempel@pengutronix.de> | 2022-02-19 11:26:30 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-02-19 21:52:45 +0300 |
commit | a7f4f13a0a6836b52ddce38b69eae84a2434fbd6 (patch) | |
tree | 0f9ce6339dc58e5e04ac2b9ce82af3a826e4e60e /drivers/net/dsa/microchip/ksz_common.h | |
parent | 0d0350c471ccd8d6a5b35e514e6b28e9a8fe4dbe (diff) | |
download | linux-a7f4f13a0a6836b52ddce38b69eae84a2434fbd6.tar.xz |
net: dsa: microchip: ksz9477: export HW stats over stats64 interface
Provide access to HW offloaded packets over stats64 interface.
The rx/tx_bytes values needed some fixing since HW is accounting size of
the Ethernet frame together with FCS.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/microchip/ksz_common.h')
-rw-r--r-- | drivers/net/dsa/microchip/ksz_common.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h index 3db63f62f0a1..c6fa487fb006 100644 --- a/drivers/net/dsa/microchip/ksz_common.h +++ b/drivers/net/dsa/microchip/ksz_common.h @@ -22,6 +22,8 @@ struct ksz_port_mib { struct mutex cnt_mutex; /* structure access */ u8 cnt_ptr; u64 *counters; + struct rtnl_link_stats64 stats64; + struct spinlock stats64_lock; }; struct ksz_port { @@ -128,6 +130,7 @@ struct ksz_dev_ops { u64 *cnt); void (*r_mib_pkt)(struct ksz_device *dev, int port, u16 addr, u64 *dropped, u64 *cnt); + void (*r_mib_stat64)(struct ksz_device *dev, int port); void (*freeze_mib)(struct ksz_device *dev, int port, bool freeze); void (*port_init_cnt)(struct ksz_device *dev, int port); int (*shutdown)(struct ksz_device *dev); |