Message ID | YboKxwxonGND3Mom@shell.armlinux.org.uk (mailing list archive) |
---|---|
Headers | show |
Series | net: phylink: add PCS validation | expand |
On Wed, 15 Dec 2021 15:33:27 +0000 Russell King (Oracle) wrote: > This series allows phylink to include the PCS in its validation step. > There are two reasons to make this change: > > 1. Some of the network drivers that are making use of the split PCS > support are already manually calling into their PCS drivers to > perform validation. E.g. stmmac with xpcs. > > 2. Logically, some network drivers such as mvneta and mvpp2, the > restriction we impose in the validate() callback is a property of > the "PCS" block that we provide rather than the MAC. > > This series: > > 1. Gives phylink a mechanism to query the MAC driver which PCS is > wishes to use for the PHY interface mode. This is necessary to allow > the PCS to be involved in the validation step without making changes > to the configuration. > > 2. Provide a pcs_validate() method that PCS can implement. This follows > a similar model to the MAC's validate() callback, but with some minor > differences due to observations from the various implementations. > E.g. returning an error code for not-supported and the way the > advertising bitmap is masked. > > 3. Convert mvpp2 and mvneta to this as examples of its use. Further > Conversions are in the pipeline, including for stmmac+xpcs, as well > as some DSA drivers. Note that DSA conversion to this is conditional > upon all DSA drivers populating their supported_interfaces bitmap, > since this is required before mac_select_pcs() can be used. > > Existing drivers that set a PCS in mac_prepare() or mac_config(), or > shortly after phylink_create() will continue to work. However, it should > be noted that mac_select_pcs() will be called during phylink_create(), > and thus any PCS returned by mac_select_pcs() must be available by this > time - or we drop the check in phylink_create(). > > v2: fix kerneldoc typo in patch 1. Not sure if you got a notification but this had been applied, thanks!