[PATCH v3 net-next] net: phy: realtek: read actual speed on rtl8211f to detect downshift

From: Antonio Borneo
Date: Tue Nov 24 2020 - 18:09:27 EST


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 <antonio.borneo@xxxxxx>
Link: https://lore.kernel.org/r/478f871a-583d-01f1-9cc5-2eea56d8c2a7@xxxxxxxxxx
---
To: Andrew Lunn <andrew@xxxxxxx>
To: Heiner Kallweit <hkallweit1@xxxxxxxxx>
To: Russell King <linux@xxxxxxxxxxxxxxx>
To: "David S. Miller" <davem@xxxxxxxxxxxxx>
To: Jakub Kicinski <kuba@xxxxxxxxxx>
To: netdev@xxxxxxxxxxxxxxx
To: Yonglong Liu <liuyonglong@xxxxxxxxxx>
To: Willy Liu <willy.liu@xxxxxxxxxxx>
Cc: linuxarm@xxxxxxxxxx
Cc: Salil Mehta <salil.mehta@xxxxxxxxxx>
Cc: linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
In-Reply-To: <20201124143848.874894-1-antonio.borneo@xxxxxx>

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