[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250110144828.4943-1-gerhard@engleder-embedded.com>
Date: Fri, 10 Jan 2025 15:48:23 +0100
From: Gerhard Engleder <gerhard@...leder-embedded.com>
To: andrew@...n.ch,
hkallweit1@...il.com,
linux@...linux.org.uk,
davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com
Cc: netdev@...r.kernel.org,
Gerhard Engleder <gerhard@...leder-embedded.com>
Subject: [PATCH net-next v2 0/5] Support loopback mode speed selection
Previously to commit 6ff3cddc365b
("net: phylib: do not disable autoneg for fixed speeds >= 1G") it was
possible to select the speed of the loopback mode by configuring a fixed
speed before enabling the loopback mode. Now autoneg is always enabled
for >= 1G and a fixed speed of >= 1G requires successful autoneg. Thus,
the speed of the loopback mode depends on the link partner for >= 1G.
There is no technical reason to depend on the link partner for loopback
mode. With this behavior the loopback mode is less useful for testing.
Allow PHYs to support optional speed selection for the loopback mode.
This support is implemented for the generic loopback support and for PHY
drivers, which obviously support speed selection for loopback mode.
Additionally, loopback support according to the data sheet is added to
the KSZ9031 PHY.
Extend phy_loopback() to signal link up and down if speed changes,
because a new link speed requires link up signalling.
Use this loopback speed selection in the tsnep driver to select the
loopback mode speed depending the previously active speed. User space
tests with 100 Mbps and 1 Gbps loopback are possible again.
v2:
- signal link up to keep MAC and PHY in sync about speed (Andrew Lunn)
Gerhard Engleder (5):
net: phy: Allow loopback speed selection for PHY drivers
net: phy: Support speed selection for PHY loopback
net: phy: micrel: Add loopback support
tsnep: Select speed for loopback
tsnep: Add PHY loopback selftests
drivers/net/ethernet/engleder/tsnep_main.c | 13 ++-
.../net/ethernet/engleder/tsnep_selftests.c | 102 ++++++++++++++++++
.../net/ethernet/hisilicon/hns/hns_ethtool.c | 4 +-
.../hisilicon/hns3/hns3pf/hclge_main.c | 4 +-
.../hisilicon/hns3/hns3pf/hclge_mdio.c | 2 +-
.../stmicro/stmmac/stmmac_selftests.c | 8 +-
drivers/net/phy/adin1100.c | 5 +-
drivers/net/phy/dp83867.c | 5 +-
drivers/net/phy/marvell.c | 8 +-
drivers/net/phy/micrel.c | 28 +++++
drivers/net/phy/mxl-gpy.c | 11 +-
drivers/net/phy/phy-c45.c | 5 +-
drivers/net/phy/phy.c | 79 ++++++++++++++
drivers/net/phy/phy_device.c | 43 ++------
drivers/net/phy/xilinx_gmii2rgmii.c | 7 +-
include/linux/phy.h | 18 +++-
net/core/selftests.c | 4 +-
17 files changed, 282 insertions(+), 64 deletions(-)
--
2.39.5
Powered by blists - more mailing lists