[PATCH net-next v4 0/2] net: macb: 1000BASE-X on internal PCS
Nathan Whitehorn <[email protected]>
| Newsgroups | org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
This series adds support for 1000BASE-X autonegotiation to the Cadence macb driver when using the MAC-internal PCS. The existing driver code is oriented toward the PCS being used with an on-board SGMII PHY, so uses Cisco SGMII-style autonegotiation exclusively and does not anticipate e.g. link state changes arising from fiber attach/detach events since the SGMII endpoint is permanently attached in such cases. The first patch changes the driver to monitor the PCS's link; the second extends the existing SGMII autonegotiation code to also support 1000BASE-X autonegotiation. Changelog: - v1: Original patch Link: https://lore.kernel.org/netdev/[email protected]/ - v2: Split into two pieces and clean-up of a few details in anrestart(). Link: https://lore.kernel.org/netdev/[email protected]/ - v3: Fix mistakes in commit message for patch 1 and improve wording. Link: https://lore.kernel.org/netdev/[email protected]/ - v4: Fix return value in macb_pcs_config() to indicate to phylink when the autonegotiation advertisement has changed and autonegotiation needs to be restarted. Tested on Microchip PolarFire SoC with a variety of SFPs (copper, fiber, GPON) attached to the I/O Bank-5 PCS lines. Thanks to Charles Perry, Andrew Lunn, Paolo Abeni, and Théo Lebrun for helpful suggestions and discussion on this patch series.