[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<PH7PR12MB7282DEEE85BE8A6F9E558339D7702@PH7PR12MB7282.namprd12.prod.outlook.com>
Date: Fri, 19 Jan 2024 18:11:56 +0000
From: Asmaa Mnebhi <asmaa@...dia.com>
To: Andrew Lunn <andrew@...n.ch>, "Russell King (Oracle)"
<linux@...linux.org.uk>
CC: "davem@...emloft.net" <davem@...emloft.net>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, David Thompson <davthompson@...dia.com>
Subject: RE: [PATCH v1 1/1] net: phy: micrel: Add workaround for incomplete
autonegotiation
> Is there any status registers which indicate energy detection? No point doing
> retries if there is no sign of a link partner.
>
> I would also suggest moving the timeout into a driver private data structure,
> and rely on phylib polling the PHY once per second and restart autoneg from
> that. That will avoid holding the lock for a long time.
>
Hi Andrew,
Thank you for your feedback.
There is no status register indicating energy detection on the KSZ9031 PHY. This issue reproduces during a 2000 reboot test of the BlueField chip. The link partner is always up during the test and provides network to other entities such as servers and BMC.
We use this PHY driver with the mlxbf-gige driver. The PHY irq is used rather than polling in phy_connect_direct. if we don't want to make changes to the micrel.c driver, we could move this logic to mlxbf_gige_open() function right after calling phy_start()? This would ensure that autonegotiation is completed. Please let me know what you think.
Thanks.
Asmaa
Powered by blists - more mailing lists