Skip to content

Commit

Permalink
Marvell phy: add field to get errors from fiber link.
Browse files Browse the repository at this point in the history
Add support for the fiber receiver error counter in the
statistics. Rename the current counter which is for copper errors to
phy_receive_errors_copper, so it is easy to distinguish copper from
fiber.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@nexvision.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Charles-Antoine Couret authored and David S. Miller committed Jul 19, 2016
1 parent 6cfb3bc commit 2170fef
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions drivers/net/phy/marvell.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@
#define ADVERTISE_PAUSE_ASYM_FIBER 0x100

#define REGISTER_LINK_STATUS 0x400
#define NB_FIBER_STATS 1

MODULE_DESCRIPTION("Marvell PHY driver");
MODULE_AUTHOR("Andy Fleming");
Expand All @@ -164,8 +165,9 @@ struct marvell_hw_stat {
};

static struct marvell_hw_stat marvell_hw_stats[] = {
{ "phy_receive_errors", 0, 21, 16},
{ "phy_receive_errors_copper", 0, 21, 16},
{ "phy_idle_errors", 0, 10, 8 },
{ "phy_receive_errors_fiber", 1, 21, 16},
};

struct marvell_priv {
Expand Down Expand Up @@ -1236,7 +1238,10 @@ static int m88e1318_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *w

static int marvell_get_sset_count(struct phy_device *phydev)
{
return ARRAY_SIZE(marvell_hw_stats);
if (phydev->supported & SUPPORTED_FIBRE)
return ARRAY_SIZE(marvell_hw_stats);
else
return ARRAY_SIZE(marvell_hw_stats) - NB_FIBER_STATS;
}

static void marvell_get_strings(struct phy_device *phydev, u8 *data)
Expand Down

0 comments on commit 2170fef

Please sign in to comment.