|
|
Log in / Subscribe / Register

igc: add support for forcing link speed without autonegotiation

From:  KhaiWenTan <khai.wen.tan-AT-linux.intel.com>
To:  anthony.l.nguyen-AT-intel.com, przemyslaw.kitszel-AT-intel.com, andrew+netdev-AT-lunn.ch, davem-AT-davemloft.net, edumazet-AT-google.com, kuba-AT-kernel.org, pabeni-AT-redhat.com
Subject:  [PATCH iwl-next v3 0/3] igc: add support for forcing link speed without autonegotiation
Date:  Wed, 22 Apr 2026 23:56:58 +0800
Message-ID:  <20260422155701.7420-1-khai.wen.tan@linux.intel.com>
Cc:  intel-wired-lan-AT-lists.osuosl.org, netdev-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, faizal.abdul.rahim-AT-intel.com, hong.aun.looi-AT-intel.com, khai.wen.tan-AT-intel.com, Faizal Rahim <faizal.abdul.rahim-AT-linux.intel.com>
Archive-link:  Article

From: Faizal Rahim <faizal.abdul.rahim@linux.intel.com>

This series adds support for forcing 10/100 Mb/s link speed via ethtool
when autonegotiation is disabled on the igc driver.

Changes in v3:
- Modify condition from "if (duplex == DUPLEX_HALF)" to
  "if (duplex != DUPLEX_FULL)". (Simon Horman)

Changes in v2:
- When forcing half-duplex, set hw->fc.requested_mode = igc_fc_none,
  since half-duplex cannot support flow control per IEEE 802.3.
  (Simon Horman)
- Split the original single patch into three patches for clarity:
  patches 1 and 2 are preparatory cleanups; patch 3 carries the
  functional change.

v2 at:
https://patchwork.kernel.org/project/netdevbpf/patch/2026...

v1 at:
https://patchwork.ozlabs.org/project/intel-wired-lan/patc...

Faizal Rahim (3):
  igc: remove unused autoneg_failed field
  igc: move autoneg-enabled settings into igc_handle_autoneg_enabled()
  igc: add support for forcing link speed without autonegotiation

 drivers/net/ethernet/intel/igc/igc_base.c    |  35 +++-
 drivers/net/ethernet/intel/igc/igc_defines.h |   9 +-
 drivers/net/ethernet/intel/igc/igc_ethtool.c | 203 +++++++++++++------
 drivers/net/ethernet/intel/igc/igc_hw.h      |  10 +-
 drivers/net/ethernet/intel/igc/igc_mac.c     |  16 +-
 drivers/net/ethernet/intel/igc/igc_main.c    |   2 +-
 drivers/net/ethernet/intel/igc/igc_phy.c     |  65 +++++-
 drivers/net/ethernet/intel/igc/igc_phy.h     |   1 +
 8 files changed, 251 insertions(+), 90 deletions(-)

--
2.43.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds