Re: [PATCH v2 2/7] net: phy: micrel: KSZ8081 & KSZ9031: add loopback support
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2021-04-15 19:58:54
Also in:
lkml, netdev
On 4/15/2021 6:07 AM, Oleksij Rempel wrote:
quoted hunk ↗ jump to hunk
PHY loopback is needed for the ethernet controller self test support. This PHY was tested with the generic net sefltest in combination with FEC ethernet controller and SJA1105 switch. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- drivers/net/phy/micrel.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index a14a00328fa3..26066b1e02e5 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c@@ -1311,6 +1311,7 @@ static struct phy_driver ksphy_driver[] = { .get_stats = kszphy_get_stats, .suspend = kszphy_suspend, .resume = kszphy_resume, + .set_loopback = genphy_loopback,
The generic loopback is really generic and is defined by the 802.3 standard, we should just mandate that drivers implement a custom loopback if the generic one cannot work. I would change the PHY library to do something like this: if (phydev->drv->set_loopback) ret = phydev->drv->set_loopback(phydev, ...) else ret = genphy_loopback(phydev, ...) This would enable many more drivers than that we currently have today.
quoted hunk ↗ jump to hunk
}, { .phy_id = PHY_ID_KSZ8061, .name = "Micrel KSZ8061",@@ -1356,6 +1357,7 @@ static struct phy_driver ksphy_driver[] = { .get_stats = kszphy_get_stats, .suspend = genphy_suspend, .resume = kszphy_resume, + .set_loopback = genphy_loopback, }, { .phy_id = PHY_ID_LAN8814, .phy_id_mask = MICREL_PHY_ID_MASK,
-- Florian _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel