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