The rtl8211f supports downshift and before commit 5502b218e001
("net: phy: use phy_resolve_aneg_linkmode in genphy_read_status")
the read-back of register MII_CTRL1000 was used to detect the
negotiated link speed.
The code added in commit d445dff2df60 ("net: phy: realtek: read
actual speed to detect downshift") is working fine also for this
phy and it's trivial re-using it to restore the downshift
detection on rtl8211f.Add the phy specific read_status() pointing to the existing function rtlgen_read_status(). Signed-off-by: Antonio Borneo <[email protected]> Link: https://lore.kernel.org/r/[email protected] --- To: Andrew Lunn <[email protected]> To: Heiner Kallweit <[email protected]> To: Russell King <[email protected]> To: "David S. Miller" <[email protected]> To: Jakub Kicinski <[email protected]> To: [email protected] To: Yonglong Liu <[email protected]> To: Willy Liu <[email protected]> Cc: [email protected] Cc: Salil Mehta <[email protected]> Cc: [email protected] Cc: [email protected] In-Reply-To: <[email protected]> V1 => V2 move from a generic implementation affecting every phy to a rtl8211f specific implementation V2 => V3 rebase on netdev-next, resolving minor conflict after merge of 8b43357fff61 --- drivers/net/phy/realtek.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c index f71eda945c6a..99ecd6c4c15a 100644 --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c @@ -729,6 +729,7 @@ static struct phy_driver realtek_drvs[] = { PHY_ID_MATCH_EXACT(0x001cc916), .name = "RTL8211F Gigabit Ethernet", .config_init = &rtl8211f_config_init, + .read_status = rtlgen_read_status, .config_intr = &rtl8211f_config_intr, .handle_interrupt = rtl8211f_handle_interrupt, .suspend = genphy_suspend, base-commit: 1d155dfdf50efc2b0793bce93c06d1a5b23d0877 -- 2.29.2
