On Sun, Feb 24, 2019 at 04:04:03PM +0100, Andrew Lunn wrote: > > I think what's not correct is that phydev->autoneg is set > > (by phy_device_create) for a fixed link. > > Fixed-link tries to emulate auto-neg: > > bmsr |= BMSR_LSTATUS | BMSR_ANEGCOMPLETE; > > Maybe it needs better emulation of auto-neg?
Or maybe it needs to represent a fixed-speed PHY by clearing bit 1.3 (BMSR_ANEGCAPABLE). In any case, 0.12 (BMCR_ANENABLE) is not set, so according to 802.3-2015, we should not be setting 1.5 (BMSR_ANEGCOMPLETE). However, swphy does try to emulate autonegotiation - we do have cases where swphy is used in situations where the speed and duplex are not fixed. It returns an emulated link partner advertisement for the current speed, which would suggest that we should set BMCR_ANENABLE. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up