From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 990C23909A8 for ; Sat, 18 Jul 2026 16:53:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784393622; cv=none; b=iHov4Z2wwKhkgmfevuwnZZkliKRsaInpd4p0nZrqtduTpK2LpJkz07C4ZXTW9fczoWr6tcRRprkLAdDoWeX+Gx6P13nuKpf7SgwMDWkYcQd1gKy0xOPHehHnblrtW3athwx+QTd0/B40l273/Xw3/24r0Hc7snKee4B/JxoMMWI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784393622; c=relaxed/simple; bh=TY6XXNluMvPZeiK1GBdfLiSNwAHUxfTBKa7Hd1Mq8KE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=W+P2B040SEelpFtY/OF3WhlP0Rodw77BwwVRzljT5dflb/fOwyaOKMVXHyUMt97Nq1wYqJpDDTPy+eKKADPY5i1U832HN9WtLsdCgLtOQv5KsAS6wImjfpG3ULK4d+UlM34xA3tMpPa32RJELzU9mSe0JMuCCARdTF8GtuAq/ao= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Og5kWHBq; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Og5kWHBq" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-6983d3dae7aso3786139a12.0 for ; Sat, 18 Jul 2026 09:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784393619; x=1784998419; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=XIwRmPJyHTglY/geaE+jR8d2MvoV2i3YMT3lvluIPbw=; b=Og5kWHBqUkaEKzK0zQnbzbU3r6mG+xIz9qUJEauE3HOSFLVqSd7KNNhEioxUhsCPgI lLCYF2B4QXkExvR4OekdAvZ5WO1CVPr4rolH6RJkLZideeS+po6Xh+G808RNEld2UQco 4iHr1k0I9Bp4V97cI2miWQrdULZH6/EZYS21dzOnZqbZW+qbKLdwtOpRDhGyVtIqOeoe P9XFNDt49g7P9hUSP1WwcdmenPtR2W2SMtUBIM0k27HmvMfDRa6zNqxBZPm36L2ZAV+N eGrQDsstNszdjOO9qRToNbfOwz6KEBtzy226woaCWmBwLzzZO7oxJSywN++jPWG/LGsG tlow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784393619; x=1784998419; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=XIwRmPJyHTglY/geaE+jR8d2MvoV2i3YMT3lvluIPbw=; b=GV+wasjsHYPR6vIcrtxOBpX4xJlHRjrU5EteDrDo8S/gojtA1xrBLr/aF1ErfeFQei PlAWoNZSnFq8Geoif54xmd9CWUVqw9aFuGaGvbhfOcVpw8d+gq/JCxSofy65uIK46e66 ng7yjdw9tCXMzLS3wvUr+OmbJozHQWb8R/lkPWXMsKV0S3smDo1nXfxCj9uAXrA7vmzu YRYGvlOt30WZBnW7FjP9aIHPp0BQCoIwNdnL0ljeUhuUvBOlx2nkMK6xmU+f+qhv8nYr ObwlHqRIwZLVnGQtwg8FOuVcdq5p1FJKqsy7B0ThDf7SI4kWSrFLFpJq/da3OB3hJvnQ t7Vg== X-Forwarded-Encrypted: i=1; AHgh+Rop4j0s0vGPHCZ5Ozm2FL2MSdRctQ4vBSztuU8OrVGMKkkLgXhc6SoY1epH7M7lybCsfk23Nof0VLtWOws=@vger.kernel.org X-Gm-Message-State: AOJu0YxVHtW61MVQkvMQalKtEkuMjFTyFXR9l/sQR5HkDUH7lXLB4jj0 /QdY+QeUxJHKmivW1IUYbHvjw06Z64JM9dFnFGJ81JQK9NISGcfll744 X-Gm-Gg: AfdE7cmnGWnujInfykEeUvNXDZ7COiOmNmWvakaRjkPTY8U1hnG4Mihc3ToyHmclbtD h6JsOiWxYxX83VGp4ZT/d+MZlyBHVIjSFkjEqu3xhyjz3m/HMVksDOD9CBVyS9m5xRHC25BA8TV ozgUkNgfb4vEEAwa3uGMQkMmWoB0Xhpf6IS5kpx9r9a0h79t3V/mw0GE2BFxr8UXBkb5lhebo8P /yVjaMwS7+4B+5MPF4TASQPj3CGvN8krR7HnKvq1yDVAiF70uemgOTDbJ9+z9gkIo6nu0bRAxtC p1byf96vk/TKGFBc1Zfcgv+rvm3KPtAC/NYPuIbtigkMGBlrYddqsF5YW/E72v//wplXEi1c94u nSHJmHbr/Y5hwoBZ1GwJ8QdwRw2YMIVVRe0NOl0/EpM443mOJcyvFforJEheO4IyfKKKmQLhn0P Mh5j1gmVWEMoBzSVxOpsHUD0k4MSc= X-Received: by 2002:a17:907:6d0e:b0:c16:89e0:dce0 with SMTP id a640c23a62f3a-c16920d90f1mr566250066b.11.1784393618513; Sat, 18 Jul 2026 09:53:38 -0700 (PDT) Received: from tempest2.110.lan (xt27d7.stansat.pl. [83.243.39.215]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c19457d6f0fsm192197766b.36.2026.07.18.09.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jul 2026 09:53:38 -0700 (PDT) From: Pawel Dembicki To: netdev@vger.kernel.org Cc: Pawel Dembicki , Tony Nguyen , Przemek Kitszel , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , intel-wired-lan@lists.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 1/2] igb: detect M88E1112 100BASE-FX SGMII mode Date: Sat, 18 Jul 2026 18:52:04 +0200 Message-ID: <20260718165213.3620511-2-paweldembicki@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The M88E1112 can be strapped or EEPROM-configured to bridge SGMII to 100BASE-FX. In this mode the driver still needs the SGMII PHY register access path to identify the external PHY, but the MAC link setup must follow the SERDES media path rather than copper setup. Decode the M88E1112 MAC Control 1 mode field and switch the I210 media type and physical interface setup callback when the PHY reports 100BASE-FX mode. The driver only observes the Marvell mode. It does not program the 88E1112 registers or its EEPROM. The board must configure it through firmware or straps before probe. Assisted-by: Codex:GPT-5 Signed-off-by: Pawel Dembicki --- drivers/net/ethernet/intel/igb/e1000_82575.c | 12 +++++++++++- drivers/net/ethernet/intel/igb/e1000_defines.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c index 44a85ad749a4..72c42d9d6f47 100644 --- a/drivers/net/ethernet/intel/igb/e1000_82575.c +++ b/drivers/net/ethernet/intel/igb/e1000_82575.c @@ -264,9 +264,19 @@ static s32 igb_init_phy_params_82575(struct e1000_hw *hw) data = FIELD_GET(E1000_M88E1112_MAC_CTRL_1_MODE_MASK, data); if (data == E1000_M88E1112_AUTO_COPPER_SGMII || - data == E1000_M88E1112_AUTO_COPPER_BASEX) + data == E1000_M88E1112_AUTO_COPPER_BASEX) { hw->mac.ops.check_for_link = igb_check_for_link_media_swap; + } else if (data == E1000_M88E1112_100BASE_FX) { + /* The driver only detects this strap/EEPROM + * mode. 88E1112 register and EEPROM setup must + * be done outside igb before probe/reset. + */ + hw->phy.media_type = + e1000_media_type_internal_serdes; + hw->mac.ops.setup_physical_interface = + igb_setup_serdes_link_82575; + } } if (phy->id == M88E1512_E_PHY_ID) { ret_val = igb_initialize_M88E1512_phy(hw); diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h index 7e6f9aa2d57b..25104328eae6 100644 --- a/drivers/net/ethernet/intel/igb/e1000_defines.h +++ b/drivers/net/ethernet/intel/igb/e1000_defines.h @@ -615,6 +615,7 @@ #define E1000_MEDIA_PORT_COPPER 1 #define E1000_MEDIA_PORT_OTHER 2 +#define E1000_M88E1112_100BASE_FX 0x0 #define E1000_M88E1112_AUTO_COPPER_SGMII 0x2 #define E1000_M88E1112_AUTO_COPPER_BASEX 0x3 #define E1000_M88E1112_STATUS_LINK 0x0004 /* Interface Link Bit */ -- 2.43.0