Ok, thanks!Hi Andrew, thanks very much for your guidance on how to use pause autoneg,
it confuses me before because PHY registers actually have no separate setting
bit of pause autoneg.
So, summarize what you mean:
1. If pause autoneg is on, driver should always use the autoneg result to program
the MAC. Eventhough general autoneg is off now and link state is no changed then
driver just needs to keep the last configuration for the MAC, if link state is
changed and phy goes down and up then driver needs to program the MAC according
to the autoneg result in the link_adjust callback.
2. If pause autoneg is off, driver should directly configure the MAC with tx pause
and rx pause. Eventhough general autoneg is on, driver should ignore the autoneg
result.
Do I understand right?
Yes, that fits my understanding of ethtool, etc.
phylink tried to clear up some of these problems by fully implementing
the call within phylink. All the MAC driver needs to provide is a
method to configure the MAC pause settings. Take a look at
phylink_ethtool_set_pauseparam() and the commit messages related to
that.
Andrew
.