From: Charles-Antoine Couret Date: Tue, 19 Jul 2016 09:13:11 +0000 (+0200) Subject: Marvell phy: add field to get errors from fiber link. X-Git-Tag: v4.8-rc1~140^2~72^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2170fef78a400ca3c891da5db73db5e70388aba7;p=platform%2Fkernel%2Flinux-exynos.git Marvell phy: add field to get errors from fiber link. 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 Signed-off-by: Charles-Antoine Couret Signed-off-by: David S. Miller --- diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 75b9211..0dde7ca 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -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"); @@ -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 { @@ -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)