RE: [PATCH net-next v3 0/6] provide generic net selftest support
From: Joakim Zhang <hidden>
Date: 2021-04-27 04:48:51
Also in:
linux-arm-kernel, lkml
-----Original Message----- From: Oleksij Rempel <o.rempel@pengutronix.de> Sent: 2021年4月23日 12:37 To: Joakim Zhang <redacted> Cc: Shawn Guo <shawnguo@kernel.org>; Sascha Hauer [off-list ref]; Andrew Lunn [off-list ref]; Florian Fainelli [off-list ref]; Heiner Kallweit [off-list ref]; Fugang Duan [off-list ref]; kernel@pengutronix.de; netdev@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; dl-linux-imx [off-list ref]; Fabio Estevam [off-list ref]; David Jander [off-list ref]; Russell King [off-list ref]; Philippe Schenker [off-list ref] Subject: Re: [PATCH net-next v3 0/6] provide generic net selftest support Hi Joakim, On Fri, Apr 23, 2021 at 03:18:32AM +0000, Joakim Zhang wrote:quoted
Hi Oleksij, I look both stmmac selftest code and this patch set. For stmmac, if PHYdoesn't support loopback, it will fallthrough to MAC loopback.quoted
You provide this generic net selftest support based on PHY loopback, I have aquestion, is it possible to extend it also support MAC loopback later? Yes. If you have interest and time to implement it, please do. It should be some kind of generic callback as phy_loopback() and if PHY and MAC loopbacks are supported we need to tests both variants.
Hi Oleksij, Yes, I can try to implement it when I am free, but I still have some questions: 1. Where we place the generic function? Such as mac_loopback(). 2. MAC is different from PHY, need program different registers to enable loopback on different SoCs, that means we need get MAC private data from "struct net_device". So we need a callback for MAC drivers, where we extend this callback? Could be "struct net_device_ops"? Such as ndo_set_loopback? Best Regards, Joakim Zhang
Best regards, Oleksijquoted
quoted
-----Original Message----- From: Oleksij Rempel <o.rempel@pengutronix.de> Sent: 2021年4月19日 21:01 To: Shawn Guo <shawnguo@kernel.org>; Sascha Hauer [off-list ref]; Andrew Lunn [off-list ref]; Florian Fainelli [off-list ref]; Heiner Kallweit [off-list ref]; Fugang Duan [off-list ref] Cc: Oleksij Rempel <o.rempel@pengutronix.de>; kernel@pengutronix.de; netdev@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; dl-linux-imx [off-list ref]; Fabio Estevam [off-list ref]; David Jander [off-list ref]; Russell King [off-list ref]; Philippe Schenker [off-list ref] Subject: [PATCH net-next v3 0/6] provide generic net selftest support changes v3: - make more granular tests - enable loopback for all PHYs by default - fix allmodconfig build errors - poll for link status update after switching to the loopback mode changes v2: - make generic selftests available for all networking devices. - make use of net_selftest* on FEC, ag71xx and all DSA switches. - add loopback support on more PHYs. This patch set provides diagnostic capabilities for some iMX, ag71xx or any DSA based devices. For proper functionality, PHY loopback support isneeded.quoted
quoted
So far there is only initial infrastructure with basic tests. Oleksij Rempel (6): net: phy: execute genphy_loopback() per default on all PHYs net: phy: genphy_loopback: add link speed configuration net: add generic selftest support net: fec: make use of generic NET_SELFTESTS library net: ag71xx: make use of generic NET_SELFTESTS library net: dsa: enable selftest support for all switches by default drivers/net/ethernet/atheros/Kconfig | 1 + drivers/net/ethernet/atheros/ag71xx.c | 20 +- drivers/net/ethernet/freescale/Kconfig | 1 + drivers/net/ethernet/freescale/fec_main.c | 7 + drivers/net/phy/phy.c | 3 +- drivers/net/phy/phy_device.c | 35 +- include/linux/phy.h | 1 + include/net/dsa.h | 2 + include/net/selftests.h | 12 + net/Kconfig | 4 + net/core/Makefile | 1 + net/core/selftests.c | 400 ++++++++++++++++++++++ net/dsa/Kconfig | 1 + net/dsa/slave.c | 21 ++ 14 files changed, 500 insertions(+), 9 deletions(-) create mode 100644 include/net/selftests.h create mode 100644 net/core/selftests.c -- 2.29.2_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists .infradead.org%2Fmailman%2Flistinfo%2Flinux-arm-kernel&data=04%7C0quoted
1%7Cqiangqing.zhang%40nxp.com%7C8796bf53e46b4b1be92b08d9061186f9 %7C686quoted
ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637547494614753358%7CU nknown%7quoted
CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiL CJXVquoted
CI6Mn0%3D%7C1000&sdata=x%2BUFB%2B1Xp0zbR1mG5HDGvqBUvKhX VJn337T%2BBquoted
D7cO6g%3D&reserved=0-- Pengutronix e.K. | | Steuerwalder Str. 21 | https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pe ngutronix.de%2F&data=04%7C01%7Cqiangqing.zhang%40nxp.com%7C87 96bf53e46b4b1be92b08d9061186f9%7C686ea1d3bc2b4c6fa92cd99c5c301635 %7C0%7C0%7C637547494614753358%7CUnknown%7CTWFpbGZsb3d8eyJWIj oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C10 00&sdata=K2dsGVxEXv%2FtC7p0l4TFlLlaqzzTa6ktrbSdcCJ10J0%3D& reserved=0 | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |