On Fri, Mar 12, 2021 at 10:33:06AM -0800, Florian Fainelli wrote: > On 3/11/21 4:04 AM, Joakim Zhang wrote: > > I have a question about PHY framework, please point me if something I > > misunderstanding. > > There are many scenarios from PHY framework would trigger auto-nego, such > > as switch from power down to normal operation, but it never polling the ack > > of auto-nego (phy_poll_aneg_done), is there any special reasons? Is it > > possible and reasonable for MAC controller driver to poll this ack, if yes, > > at least we have a stable RXC at that time. > > Adding Heiner and Russell as well. Usually you do not want, or rather > cannot know whether auto-negotiation will ever succeed, so waiting for > it could essentially hog your system for some fairly indefinite amount > of time.
I think the question being asked is essentially whether checking the link status bit (1.2) without checking the aneg complete bit (1.5) is sufficient. Reading 802.3, it seems to be defined that if autonegotiation is in use, the link shall be reported as down until autonegotiation has completed - which is logical. The link can only be up if a valid data path capable of transferring data has been established, which implies that autonegotiation must have completed. However, note that when coming out of power down, there is no guarantee that there is anything connected to the other side of the media, and thus there is no guarantee that autonegotiation will complete. Waiting for autonegotiation to complete in this case would not be feasible. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!