netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH v2 00/11] net: phy: Add support for fbnic PHY w/ 25G, 50G, and 100G support
@ 2025-11-03 16:59 Alexander Duyck
  2025-11-03 17:00 ` [net-next PATCH v2 01/11] net: phy: Add support for 25, 50 and 100Gbps PMA to genphy_c45_read_pma Alexander Duyck
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Alexander Duyck @ 2025-11-03 16:59 UTC (permalink / raw)
  To: netdev; +Cc: kuba, kernel-team, andrew+netdev, hkallweit1, linux, pabeni,
	davem

This first half of this patch set introduces the necessary bits to the
generic c45 driver code to enable it to read 25G, 50G, and 100G speeds from
the PHY and updates the XPCS driver to to enable 25, 50G, and 100G
interfaces matching those supported by the fbnic driver.

The rest of this patch set enables the changes to fbnic to make use of
these interfaces and expose a phydev that can provide a necessary link
delay to avoid link flapping in the event that a cable is disconnected and
reconnected, and to correctly provide the count for the link down events.

With this we have the basic groundwork laid as with this all the bits and
pieces are in place in terms of reading the configuration. The general plan
for follow-on patch sets is to start enabling changing of the configuration
in environments where that is supported.

v2: Added XPCS code to the patch set
    Dropped adding bits for extended ability registers
    Switched from using generic c45 to fbnic_phy
    Fixed several bugs related to phy state machine and use of resume
    Moved PHY connection/disconnection into ndo_init/uninit
    Renamed fbnic_swmii.c to fbnic_mdio.c

---

Alexander Duyck (11):
      net: phy: Add support for 25, 50 and 100Gbps PMA to genphy_c45_read_pma
      net: phy: Add support for 25G, 50G, and 100G interfaces to xpcs driver
      net: phy: Fix PMA identifier handling in XPCS
      net: phy: Add identifier for fbnic PMA and use it to skip initial reset
      net: phy: Add fbnic specific PHY driver fbnic_phy
      fbnic: Rename PCS IRQ to MAC IRQ as it is actually a MAC interrupt
      fbnic: Add logic to track PMD state via MAC/PCS signals
      fbnic: Cleanup handling for link down event statistics
      fbnic: Add SW shim for MDIO interface to PMA/PMD and PCS
      fbnic: Add phydev representing PMD to phylink setup
      fbnic: Replace use of internal PCS w/ Designware XPCS


 MAINTAINERS                                   |   1 +
 drivers/net/ethernet/meta/Kconfig             |   2 +
 drivers/net/ethernet/meta/fbnic/Makefile      |   1 +
 drivers/net/ethernet/meta/fbnic/fbnic.h       |  15 +-
 drivers/net/ethernet/meta/fbnic/fbnic_csr.h   |   2 +
 .../net/ethernet/meta/fbnic/fbnic_ethtool.c   |   9 +
 drivers/net/ethernet/meta/fbnic/fbnic_irq.c   |  42 ++--
 drivers/net/ethernet/meta/fbnic/fbnic_mac.c   |  71 ++++---
 drivers/net/ethernet/meta/fbnic/fbnic_mac.h   |  40 +++-
 drivers/net/ethernet/meta/fbnic/fbnic_mdio.c  | 190 +++++++++++++++++
 .../net/ethernet/meta/fbnic/fbnic_netdev.c    |  27 ++-
 .../net/ethernet/meta/fbnic/fbnic_netdev.h    |   8 +-
 drivers/net/ethernet/meta/fbnic/fbnic_pci.c   |   8 +
 .../net/ethernet/meta/fbnic/fbnic_phylink.c   | 194 ++++++++++++------
 drivers/net/pcs/pcs-xpcs.c                    |  72 ++++++-
 drivers/net/phy/Kconfig                       |   6 +
 drivers/net/phy/Makefile                      |   1 +
 drivers/net/phy/fbnic_phy.c                   |  52 +++++
 drivers/net/phy/phy-c45.c                     |   9 +
 include/linux/pcs/pcs-xpcs.h                  |   4 +-
 include/uapi/linux/mdio.h                     |  14 ++
 21 files changed, 629 insertions(+), 139 deletions(-)
 create mode 100644 drivers/net/ethernet/meta/fbnic/fbnic_mdio.c
 create mode 100644 drivers/net/phy/fbnic_phy.c

--


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2025-11-04  0:27 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-03 16:59 [net-next PATCH v2 00/11] net: phy: Add support for fbnic PHY w/ 25G, 50G, and 100G support Alexander Duyck
2025-11-03 17:00 ` [net-next PATCH v2 01/11] net: phy: Add support for 25, 50 and 100Gbps PMA to genphy_c45_read_pma Alexander Duyck
2025-11-03 17:00 ` [net-next PATCH v2 02/11] net: phy: Add support for 25G, 50G, and 100G interfaces to xpcs driver Alexander Duyck
2025-11-03 17:42   ` Russell King (Oracle)
2025-11-03 17:00 ` [net-next PATCH v2 03/11] net: phy: Fix PMA identifier handling in XPCS Alexander Duyck
2025-11-03 17:00 ` [net-next PATCH v2 04/11] net: phy: Add identifier for fbnic PMA and use it to skip initial reset Alexander Duyck
2025-11-03 17:00 ` [net-next PATCH v2 05/11] net: phy: Add fbnic specific PHY driver fbnic_phy Alexander Duyck
2025-11-03 20:50   ` Heiner Kallweit
2025-11-03 17:00 ` [net-next PATCH v2 06/11] fbnic: Rename PCS IRQ to MAC IRQ as it is actually a MAC interrupt Alexander Duyck
2025-11-03 17:47   ` Russell King (Oracle)
2025-11-03 18:49     ` Alexander Duyck
2025-11-03 17:00 ` [net-next PATCH v2 07/11] fbnic: Add logic to track PMD state via MAC/PCS signals Alexander Duyck
2025-11-03 17:00 ` [net-next PATCH v2 08/11] fbnic: Cleanup handling for link down event statistics Alexander Duyck
2025-11-03 17:49   ` Russell King (Oracle)
2025-11-03 18:44     ` Alexander Duyck
2025-11-03 17:01 ` [net-next PATCH v2 09/11] fbnic: Add SW shim for MDIO interface to PMA/PMD and PCS Alexander Duyck
2025-11-03 18:59   ` Andrew Lunn
2025-11-03 20:18     ` Alexander Duyck
2025-11-03 21:49       ` Andrew Lunn
2025-11-04  0:26         ` Alexander Duyck
2025-11-03 17:01 ` [net-next PATCH v2 10/11] fbnic: Add phydev representing PMD to phylink setup Alexander Duyck
2025-11-03 17:01 ` [net-next PATCH v2 11/11] fbnic: Replace use of internal PCS w/ Designware XPCS Alexander Duyck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).