OSDN Git Service

Merge branch 'net-pcs-xpcs-cleanups-for-clause-73-support'
authorJakub Kicinski <kuba@kernel.org>
Wed, 24 May 2023 16:13:30 +0000 (09:13 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 24 May 2023 16:13:30 +0000 (09:13 -0700)
commit8a5ad2ea6b8778c2c6713182641a85a2b497675f
tree7ed216a7158421a553e402be60908b64fd563c2f
parent41a45ea49d3a74777c8e36b1fe644467bf91a273
parent883a98ede4b67369569f2bd163015b31b03c3278
Merge branch 'net-pcs-xpcs-cleanups-for-clause-73-support'

Russell King says:

====================
net: pcs: xpcs: cleanups for clause 73 support

This series cleans up xpcs code, moving much of the clause 73 code
out of the driver into places where others can make use of it.

Specifically, we add a helper to convert a clause 73 advertisement
to ethtool link modes to mdio.h, and a helper to resolve the clause
73 negotiation state to phylink, which includes the pause modes.

In doing this cleanup, several issues were identified with the
original xpcs implementation:

1) it masks the link partner advertisement with its own advertisement
   so userspace can't see what the full link partner advertisement
   was.
2) it was always setting pause modes irrespective of the advertisements
   on either end of the link.
3) it was reading the STAT1 registers multiple times. Reading STAT1
   has the side effect of unlatching the link-down status, so
   multiple reads should be avoided.

This patch series addresses the first two first by addressing the
issues, and then by moving over to the new helpers. The third issue
is solved by restructuring the xpcs code.
====================

Link: https://lore.kernel.org/r/ZGyR/jDyYTYzRklg@shell.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>