On Fri, 10 Jan 2020 15:04:15 +0100
Andrew Lunn [off-list ref] wrote:
Hi Andrew,
On Fri, Jan 10, 2020 at 11:54:08AM +0000, Andre Przywara wrote:
quoted
With SGMII, the MAC and the PHY can negotiate the link speed between
themselves, without the host needing to mediate between them.
Linux recognises this, and will call phylink's mac_config with the speed
member set to SPEED_UNKNOWN (-1).
Currently the axienet driver will bail out and complain about an
unsupported link speed.
Teach axienet's mac_config callback to leave the MAC's speed setting
alone if the requested speed is SPEED_UNKNOWN.
Hi Andre
Is there an interrupt when SGMII signals a change in link state? If
so, you should call phylink_mac_change().
Good point. The doc describes a "Auto-Negotiation Complete" interrupt status bit, which signal that " ... auto-negotiation of the SGMII or 1000BASE-X interface has completed."
But I have no clue whether that would trigger on a link status *change*. Is there a way to test this without pulling the cable? My board sits in a data centre, so is not easily accessible to me.
Cheers,
Andre.