mbox series

[0/7] ixgbe SFP handling fixes

Message ID 20211203225516.571368-1-stephend@silicom-usa.com (mailing list archive)
Headers show
Series ixgbe SFP handling fixes | expand

Message

Stephen Douthit Dec. 3, 2021, 10:55 p.m. UTC
Hello all,

We have several platforms based on Intel's C3000 series of SoCs that
have integrated ixgbe devices (X550EM) operating in the "Native SFI"
mode (the 0x15c4 device ID).

The first five patches in the series all fix issues relating to the ID
and setup of SFPs.

Patch 6 allows slow to boot SFPs (like some XGS-PON modules) to work.

Patch 7 enables 1G Cu to run with a warning, similar to other
unofficially supported modules covered by the allow_unsupported_sfp
flag.  Currently we use this for g.Fast modules, but other modules that
enumerate as 1G Cu may also benefit.

Since all of my testing was done on a C3000 platform, and the ixgbe
driver now covers a large number of devices, any regression testing that
can be done on other ixgbe devices would be greatly appreciated.

Thanks,
Steve

Stephen Douthit (7):
  net/ixgbe: Fix ixgbe_is_sfp() to return valid result for X550EM_a devs
  net/ixgbe: Add ixgbe_check_sfp_cage() for testing state of PRSNT#
    signal
  net/ixgbe: Check that SFF-8472 soft rate select is supported before
    write
  net/ixgbe: Run 82599 link status workaround only on affected devices
  net/ixgbe: Fix SFP detection and linking on hotplug
  net/ixgbe: Retry SFP ID read field to handle misbehaving SFPs
  net/ixgbe: Treat 1G Cu SFPs as 1G SX on the X550 devices

 drivers/net/ixgbe/base/ixgbe_82599.c  |  41 +++
 drivers/net/ixgbe/base/ixgbe_common.c | 106 +++++--
 drivers/net/ixgbe/base/ixgbe_common.h |   8 +
 drivers/net/ixgbe/base/ixgbe_phy.c    |  39 ++-
 drivers/net/ixgbe/base/ixgbe_phy.h    |   3 +
 drivers/net/ixgbe/base/ixgbe_type.h   |   2 +
 drivers/net/ixgbe/base/ixgbe_x550.c   |  14 +-
 drivers/net/ixgbe/ixgbe_ethdev.c      | 412 +++++++++++++++++---------
 drivers/net/ixgbe/ixgbe_ethdev.h      |  18 +-
 9 files changed, 468 insertions(+), 175 deletions(-)