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 <andrew@lunn.ch> Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@nexvision.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6cfb3bcc06
commit
2170fef78a
@ -151,6 +151,7 @@
|
|||||||
#define ADVERTISE_PAUSE_ASYM_FIBER 0x100
|
#define ADVERTISE_PAUSE_ASYM_FIBER 0x100
|
||||||
|
|
||||||
#define REGISTER_LINK_STATUS 0x400
|
#define REGISTER_LINK_STATUS 0x400
|
||||||
|
#define NB_FIBER_STATS 1
|
||||||
|
|
||||||
MODULE_DESCRIPTION("Marvell PHY driver");
|
MODULE_DESCRIPTION("Marvell PHY driver");
|
||||||
MODULE_AUTHOR("Andy Fleming");
|
MODULE_AUTHOR("Andy Fleming");
|
||||||
@ -164,8 +165,9 @@ struct marvell_hw_stat {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct marvell_hw_stat marvell_hw_stats[] = {
|
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_idle_errors", 0, 10, 8 },
|
||||||
|
{ "phy_receive_errors_fiber", 1, 21, 16},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct marvell_priv {
|
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)
|
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)
|
static void marvell_get_strings(struct phy_device *phydev, u8 *data)
|
||||||
|
Reference in New Issue
Block a user