[PATCH 07/24] net/axgbe: check fluctuations for 1G BELFUSE SFP

Venkat Kumar Ande VenkatKumar.Ande at amd.com
Fri Apr 12 14:52:32 CEST 2024


Frequent link up/down events can happen when a Bel Fuse SFP part is
connected to the amd-xgbe device. Try to avoid the frequent link
issues by resetting the PHY as documented in Bel Fuse SFP datasheets.

Signed-off-by: Venkat Kumar Ande <VenkatKumar.Ande at amd.com>
---
 drivers/net/axgbe/axgbe_phy_impl.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c
index 968ff1f867..1ccb95334e 100644
--- a/drivers/net/axgbe/axgbe_phy_impl.c
+++ b/drivers/net/axgbe/axgbe_phy_impl.c
@@ -563,6 +563,9 @@ static bool axgbe_phy_belfuse_parse_quirks(struct axgbe_port *pdata)
 	/* For Bel-Fuse, use the extra AN flag */
 	pdata->an_again = 1;
 
+	/* Reset PHY - wait for self-clearing reset bit to clear */
+	pdata->phy_if.phy_impl.reset(pdata);
+
 	if (!memcmp(&sfp_eeprom->base[AXGBE_SFP_BASE_VENDOR_PN],
 		    AXGBE_BEL_FUSE_PARTNO, strlen(AXGBE_BEL_FUSE_PARTNO))) {
 		phy_data->sfp_base = AXGBE_SFP_BASE_1000_SX;
-- 
2.34.1



More information about the dev mailing list