[PATCH net-next v3 0/6] provide generic net selftest support

Joakim Zhang qiangqing.zhang at nxp.com
Tue Apr 27 05:48:42 BST 2021


> -----Original Message-----
> From: Oleksij Rempel <o.rempel at pengutronix.de>
> Sent: 2021年4月23日 12:37
> To: Joakim Zhang <qiangqing.zhang at nxp.com>
> Cc: Shawn Guo <shawnguo at kernel.org>; Sascha Hauer
> <s.hauer at pengutronix.de>; Andrew Lunn <andrew at lunn.ch>; Florian Fainelli
> <f.fainelli at gmail.com>; Heiner Kallweit <hkallweit1 at gmail.com>; Fugang
> Duan <fugang.duan at nxp.com>; kernel at pengutronix.de;
> netdev at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> linux-kernel at vger.kernel.org; dl-linux-imx <linux-imx at nxp.com>; Fabio
> Estevam <festevam at gmail.com>; David Jander <david at protonic.nl>; Russell
> King <linux at armlinux.org.uk>; Philippe Schenker
> <philippe.schenker at toradex.com>
> 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:
> >
> > Hi Oleksij,
> >
> > I look both stmmac selftest code and this patch set. For stmmac, if PHY
> doesn't support loopback, it will fallthrough to MAC loopback.
> > You provide this generic net selftest support based on PHY loopback, I have a
> question, 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,
> Oleksij
> 
> > > -----Original Message-----
> > > From: Oleksij Rempel <o.rempel at pengutronix.de>
> > > Sent: 2021年4月19日 21:01
> > > To: Shawn Guo <shawnguo at kernel.org>; Sascha Hauer
> > > <s.hauer at pengutronix.de>; Andrew Lunn <andrew at lunn.ch>; Florian
> > > Fainelli <f.fainelli at gmail.com>; Heiner Kallweit
> > > <hkallweit1 at gmail.com>; Fugang Duan <fugang.duan at nxp.com>
> > > Cc: Oleksij Rempel <o.rempel at pengutronix.de>; kernel at pengutronix.de;
> > > netdev at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> > > linux-kernel at vger.kernel.org; dl-linux-imx <linux-imx at nxp.com>;
> > > Fabio Estevam <festevam at gmail.com>; David Jander
> > > <david at protonic.nl>; Russell King <linux at armlinux.org.uk>; Philippe
> > > Schenker <philippe.schenker at toradex.com>
> > > 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 is
> needed.
> > > 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 at lists.infradead.org
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
> > .infradead.org%2Fmailman%2Flistinfo%2Flinux-arm-kernel&data=04%7
> C0
> >
> 1%7Cqiangqing.zhang%40nxp.com%7C8796bf53e46b4b1be92b08d9061186f9
> %7C686
> >
> ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637547494614753358%7CU
> nknown%7
> >
> CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiL
> CJXV
> >
> CI6Mn0%3D%7C1000&sdata=x%2BUFB%2B1Xp0zbR1mG5HDGvqBUvKhX
> VJn337T%2BB
> > 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 |


More information about the linux-arm-kernel mailing list