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.bor...@st.com> Link: https://lore.kernel.org/r/478f871a-583d-01f1-9cc5-2eea56d8c...@huawei.com --- To: Andrew Lunn <and...@lunn.ch> To: Heiner Kallweit <hkallwe...@gmail.com> To: Russell King <li...@armlinux.org.uk> To: "David S. Miller" <da...@davemloft.net> To: Jakub Kicinski <k...@kernel.org> To: netdev@vger.kernel.org To: Yonglong Liu <liuyongl...@huawei.com> To: Willy Liu <willy....@realtek.com> Cc: linux...@huawei.com Cc: Salil Mehta <salil.me...@huawei.com> Cc: linux-st...@st-md-mailman.stormreply.com Cc: linux-ker...@vger.kernel.org In-Reply-To: <20201124143848.874894-1-antonio.bor...@st.com> V1 => V2 move from a generic implementation affecting every phy to a rtl8211f specific implementation --- 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 575580d3ffe0..8ff8a4edc173 100644 --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c @@ -621,6 +621,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, .ack_interrupt = &rtl8211f_ack_interrupt, .config_intr = &rtl8211f_config_intr, .suspend = genphy_suspend, base-commit: 9bd2702d292cb7b565b09e949d30288ab7a26d51 -- 2.29.2