On 2019-07-29 21:23, Andrew Lunn wrote:
But our qca8k HW can auto sync the pause status to MAC from phy with
the
auto-negotiated result.
So no need to set in qca8k_adjust_link, since there is one setting in
qca8k_port_set_status: mask |= QCA8K_PORT_STATUS_LINK_AUTO;
How does the auto-sync actually work? Does the MAC make MDIO reads to
the PHY? That is generally unsafe, since some PHYs support pages, and
the PHY driver might be using a different page while the MAC tries to
access the auto-neg results.
Do any of the ports support an external PHY? The auto-sync might not
work in that condition as well. Different register layout, c45 not
c22, etc.
The safest option is to explicitly set the MAC flow configuration
based on the values in phydev.
Hi Andrew
To explicitly set the configuration is one option, but then we need
disable QCA8K_PORT_STATUS_LINK_AUTO, and not only flow control,
speed/duplex all need to be set explicitly.
Here the qca8k driver is only support qca,qca8337/qca8334 switch family.
The phy is internal phy. There is signals internaly
to sync the status from phy to mac directly which is HW specific
implementation, it doesn't support to connect external phy.
Thanks
Xiaofeis