|
@@ -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)
|