diff options
author | Andrew Lunn <andrew@lunn.ch> | 2018-03-01 02:02:31 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-04 13:34:18 -0500 |
commit | cda9f4aae3dceed192442807b70a5d34a13c478b (patch) | |
tree | af056020b5dbecea1e4fc30f37e50a32ae747576 /drivers/net/dsa/mv88e6xxx/serdes.h | |
parent | eb755c3f6b7deb22ed19e2d3cc4418d3ae510196 (diff) | |
download | talos-op-linux-cda9f4aae3dceed192442807b70a5d34a13c478b.tar.gz talos-op-linux-cda9f4aae3dceed192442807b70a5d34a13c478b.zip |
net: dsa: mv88e6xxx: Get mv88e6352 SERDES statistics
Add support for reading the SERDES statistics of the mv88e8352, using
the standard ethtool -S option. The SERDES interface can be mapped to
either port 4 or 5, so only return statistics on those ports, if the
SERDES interface is in use.
The counters are reset on read, so need to be accumulated. Add a per
port structure to hold the stats counters. The 6352 only has a single
SERDES interface and so only one port will using the newly added
array. However the 6390 family has as many SERDES interfaces as ports,
each with statistics counters. Also, PTP has a number of counters per
port which will also need accumulating.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/serdes.h')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx/serdes.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/serdes.h b/drivers/net/dsa/mv88e6xxx/serdes.h index 5c1cd6d8e9a5..641baa75f910 100644 --- a/drivers/net/dsa/mv88e6xxx/serdes.h +++ b/drivers/net/dsa/mv88e6xxx/serdes.h @@ -44,5 +44,9 @@ int mv88e6352_serdes_power(struct mv88e6xxx_chip *chip, int port, bool on); int mv88e6390_serdes_power(struct mv88e6xxx_chip *chip, int port, bool on); - +int mv88e6352_serdes_get_sset_count(struct mv88e6xxx_chip *chip, int port); +void mv88e6352_serdes_get_strings(struct mv88e6xxx_chip *chip, + int port, uint8_t *data); +void mv88e6352_serdes_get_stats(struct mv88e6xxx_chip *chip, int port, + uint64_t *data); #endif |