[PATCH v3 net-next 00/16] qed, qede: add support for new operating modes

From: Alexander Lobakin
Date: Mon Jul 20 2020 - 14:09:00 EST


This series covers the support for the following:
- new port modes;
- loopback modes, previously missing;
- new speed/link modes;
- several FEC modes;
- multi-rate transceivers;

and also cleans up and optimizes several related parts of code.

v3 (from [2]):
- dropped custom link mode declaration; qed, qede and qedf switched to
Ethtool link modes and definitions (#0001, #0002, per Andrew Lunn's
suggestion);
- exchange more .text size to .initconst and .ro_after_init in qede
(#0003).

v2 (from [1]):
- added a patch (#0010) that drops discussed dead struct member;
- addressed checkpatch complaints on #0014 (former #0013);
- rebased on top of latest net-next;
- no other changes.

[1] https://lore.kernel.org/netdev/20200716115446.994-1-alobakin@xxxxxxxxxxx/
[2] https://lore.kernel.org/netdev/20200719201453.3648-1-alobakin@xxxxxxxxxxx/

Alexander Lobakin (16):
linkmode: introduce linkmode_intersects()
qed, qede, qedf: convert link mode from u32 to ETHTOOL_LINK_MODE
qede: populate supported link modes maps on module init
qed: reformat public_port::transceiver_data a bit
qed: add support for multi-rate transceivers
qed: use transceiver data to fill link partner's advertising speeds
qed: reformat several structures a bit
qed: add support for Forward Error Correction
qede: format qede{,_vf}_ethtool_ops
qede: introduce support for FEC control
qed: reformat several structures a bit
qed: remove unused qed_hw_info::port_mode and QED_PORT_MODE
qed: add support for new port modes
qed: add missing loopback modes
qed: populate supported link modes maps on module init
qed: add support for the extended speed and FEC modes

drivers/net/ethernet/qlogic/qed/qed.h | 125 ++-
drivers/net/ethernet/qlogic/qed/qed_dev.c | 172 +++-
drivers/net/ethernet/qlogic/qed/qed_hsi.h | 786 ++++++++++--------
drivers/net/ethernet/qlogic/qed/qed_main.c | 765 +++++++++++++----
drivers/net/ethernet/qlogic/qed/qed_mcp.c | 126 ++-
drivers/net/ethernet/qlogic/qed/qed_mcp.h | 146 ++--
drivers/net/ethernet/qlogic/qede/qede.h | 2 +
.../net/ethernet/qlogic/qede/qede_ethtool.c | 497 +++++------
drivers/net/ethernet/qlogic/qede/qede_main.c | 2 +
drivers/scsi/qedf/qedf_main.c | 78 +-
include/linux/linkmode.h | 6 +
include/linux/qed/qed_if.h | 128 ++-
12 files changed, 1829 insertions(+), 1004 deletions(-)

--

Netdev maintainers, patch #0001 affects qedf under scsi tree, but could
you take it through yours after all necessary acks? It will break
incremental buildability and bisecting otherwise. Thanks.

--
2.25.1