mbox series

[net-next,v2,0/2] net: phy: Add ability to debug RGMII

Message ID 20191017214453.18934-1-f.fainelli@gmail.com
Headers show
Series net: phy: Add ability to debug RGMII | expand

Message

Florian Fainelli Oct. 17, 2019, 9:44 p.m. UTC
Hi all,

This patch series is primarily intended to reduce the amount of support
involved with bringing up RGMII connections with the PHY library (or
PHYLINK) for that matter. The idea consists in looping back a packet we
just crafted and check whether it did came back correctly, if that is
the case, we are good, else we must try configuring the PHY for
different delays until it either works or we bail out.

As indicated in the commit message, future improvements could probably
be done in order to converge faster on the appropriate configuration.
This is intended to be PHY centric, and we are not playing with delays
on the MAC side other than through the parsing of the phydev->interface.

The typical output would look like this:

[   62.668701] bcmgenet 8f00000.ethernet eth0: Trying "rgmii-txid" PHY
interface
[   62.676094] bcmgenet 8f00000.ethernet eth0: Determined "rgmii-txid"
to be correct

Feedback highly welcome on this!

Changes in v2:

- differenciate c22 vs. c45 PHYs in phy_loopback()
- print SKB length mismatch
- check that link comes back up between each iteration since we go in
  and out of loopback mode
- prevent NPD by checking attached_dev later
- moved check for af_packet_priv earlier

Florian Fainelli (2):
  net: phy: Use genphy_loopback() by default
  net: phy: Add ability to debug RGMII connections

 .../ABI/testing/sysfs-class-net-phydev        |  11 +
 drivers/net/phy/Kconfig                       |   9 +
 drivers/net/phy/Makefile                      |   1 +
 drivers/net/phy/phy-rgmii-debug.c             | 284 ++++++++++++++++++
 drivers/net/phy/phy_device.c                  |  35 ++-
 include/linux/phy.h                           |   9 +
 6 files changed, 348 insertions(+), 1 deletion(-)
 create mode 100644 drivers/net/phy/phy-rgmii-debug.c