From: Russell King - ARM Linux admin <linux@xxxxxxxxxxxxxxx> Date: Wed, 26 Feb 2020 10:23:12 +0000 > The following series changes the phylink interface to allow us to > better support split MAC / MAC PCS setups. The fundamental change > required for this turns out to be quite simple. > > Today, mac_config() is used for everything to do with setting the > parameters for the MAC, and mac_link_up() is used to inform the > MAC driver that the link is now up (and so to allow packet flow.) > mac_config() also has had a few implementation issues, with folk > who believe that members such as "speed" and "duplex" are always > valid, where "link" gets used inappropriately, etc. > > With the proposed patches, all this changes subtly - but in a > backwards compatible way at this stage. > > We pass the the full resolved link state (speed, duplex, pause) to > mac_link_up(), and it is now guaranteed that these parameters to > this function will always be valid (no more SPEED_UNKNOWN or > DUPLEX_UNKNOWN here - unless phylink is fed with such things.) > > Drivers should convert over to using the state in mac_link_up() > rather than configuring the speed, duplex and pause in the > mac_config() method. The patch series includes a number of MAC > drivers which I've thought have been easy targets - I've left the > remainder as I think they need maintainer input. However, *all* > drivers will need conversion for future phylink development. > > v2: add ocelot/felix and qca/ar9331 DSA drivers to patch 2, add > received tested-by so far. In order to end the storm in a teacup, I've applied this series. :-) Thanks Russell.