From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 93F60A054A; Wed, 25 May 2022 08:43:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 796B4400EF; Wed, 25 May 2022 08:43:06 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 97DC5400D6 for ; Wed, 25 May 2022 08:43:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653460984; x=1684996984; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=zVQqleG9G6SlaRUb3Up8jum1LBMwJ9MWdjot8MVQWHo=; b=SpD8yj7AzwcpBNwy3oRpfsTyimCOxo77nAFPfZelm5pyg0cA3Oc1EIYF S+nQtmcMaDoxzuiuR98wHimOvvotzGRihj11fNzkOc7G1Nucso2fzfs5o Dy2J3L2e6neyEmj/V6JOQf1Hvc4/1Oc3lr7Xc9CH3g5BdbGNj/IUnvu5O gFBsjHlQKnOHEoDPHK2FXyKq6gPNqyfSq9pwQUtaGOEGgHQtFAKDc1H/F uXTImH2+PSwukViw1wu5Y7O/b5euEM/PzlR5nh/0gTf/IJ1K+s792SmS8 B0xb4DhYyCyBbyWy3Gnzwzoe3aosY7De32XF4TSsaAabN5JE1+pPoeqk+ w==; X-IronPort-AV: E=McAfee;i="6400,9594,10357"; a="273460550" X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="273460550" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 23:43:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="573057639" Received: from dpdk-qiming1.sh.intel.com ([10.67.118.152]) by orsmga007.jf.intel.com with ESMTP; 24 May 2022 23:43:02 -0700 From: Qiming Yang To: qi.z.zhang@intel.com, dev@dpdk.org Cc: Qiming Yang , Kevin Liu Subject: [PATCH v2] net/igc: add I226 support Date: Wed, 25 May 2022 13:57:50 +0800 Message-Id: <20220525055750.10823-1-qiming.yang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220519060443.2585871-1-qiming.yang@intel.com> References: <20220519060443.2585871-1-qiming.yang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=y Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Added I226 Series device ID in igc driver and updated igc guide document for new devices. Signed-off-by: Qiming Yang Signed-off-by: Kevin Liu --- v2: * rebased --- doc/guides/nics/igc.rst | 14 +++++++------- doc/guides/rel_notes/release_22_03.rst | 5 +++++ drivers/net/igc/base/igc_api.c | 6 ++++++ drivers/net/igc/base/igc_defines.h | 1 + drivers/net/igc/base/igc_hw.h | 6 ++++++ drivers/net/igc/base/igc_i225.c | 1 + drivers/net/igc/igc_ethdev.c | 6 ++++++ 7 files changed, 32 insertions(+), 7 deletions(-) diff --git a/doc/guides/nics/igc.rst b/doc/guides/nics/igc.rst index da77e0845e..399d2d650c 100644 --- a/doc/guides/nics/igc.rst +++ b/doc/guides/nics/igc.rst @@ -5,11 +5,12 @@ IGC Poll Mode Driver ====================== The IGC PMD (**librte_net_igc**) provides poll mode driver support for Foxville -I225 Series Network Adapters. +I225 and I226 Series Network Adapters. - For information about I225, please refer to: `IntelĀ® Ethernet Controller I225 Series `_. - +- For information about I226, please refer to: `IntelĀ® Ethernet Controller I226 Series + `_. Driver compilation and testing ------------------------------ @@ -21,11 +22,10 @@ for details. Supported Chipsets and NICs --------------------------- -Foxville LM (I225 LM): Client 2.5G LAN vPro Corporate -Foxville V (I225 V): Client 2.5G LAN Consumer -Foxville I (I225 I): Client 2.5G Industrial Temp -Foxville V (I225 K): Client 2.5G LAN Consumer - +Foxville LM (I225 LM, I226 LM): Client 2.5G LAN vPro Corporate +Foxville V (I225 V, I226 V): Client 2.5G LAN Consumer +Foxville I (I225 I, I226 IM): Client 2.5G Industrial Temp +Foxville V (I225 K, I226 K): Client 2.5G LAN Consumer Sample Application Notes ------------------------ diff --git a/doc/guides/rel_notes/release_22_03.rst b/doc/guides/rel_notes/release_22_03.rst index 0923707cb8..226afe786e 100644 --- a/doc/guides/rel_notes/release_22_03.rst +++ b/doc/guides/rel_notes/release_22_03.rst @@ -113,6 +113,11 @@ New Features * Added PPPoL2TPv2oUDP FDIR distribute packets based on inner IP src/dst address and UDP/TCP src/dst port. +* **Updated Intel igc driver.** + + Added Intel Foxville I226 devices in ``igc`` driver. See the + doc:`../nics/igc` NIC guide for more details. + * **Updated Marvell cnxk ethdev PMD.** * Added queue based priority flow control support for CN9K and CN10K. diff --git a/drivers/net/igc/base/igc_api.c b/drivers/net/igc/base/igc_api.c index 2f8c0753cb..9b791dc082 100644 --- a/drivers/net/igc/base/igc_api.c +++ b/drivers/net/igc/base/igc_api.c @@ -888,6 +888,12 @@ s32 igc_set_mac_type(struct igc_hw *hw) case IGC_DEV_ID_I225_I: case IGC_DEV_ID_I220_V: case IGC_DEV_ID_I225_BLANK_NVM: + case IGC_DEV_ID_I226_K: + case IGC_DEV_ID_I226_LMVP: + case IGC_DEV_ID_I226_LM: + case IGC_DEV_ID_I226_V: + case IGC_DEV_ID_I226_IT: + case IGC_DEV_ID_I226_BLANK_NVM: mac->type = igc_i225; break; case IGC_DEV_ID_I350_VF: diff --git a/drivers/net/igc/base/igc_defines.h b/drivers/net/igc/base/igc_defines.h index 30a41300f5..61964bcdd2 100644 --- a/drivers/net/igc/base/igc_defines.h +++ b/drivers/net/igc/base/igc_defines.h @@ -1351,6 +1351,7 @@ #define IGP04IGC_E_PHY_ID 0x02A80391 #define M88_VENDOR 0x0141 #define I225_I_PHY_ID 0x67C9DC00 +#define I226_LM_PHY_ID 0x67C9DC10 /* M88E1000 Specific Registers */ #define M88IGC_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Reg */ diff --git a/drivers/net/igc/base/igc_hw.h b/drivers/net/igc/base/igc_hw.h index be38fafa5f..707a1883b4 100644 --- a/drivers/net/igc/base/igc_hw.h +++ b/drivers/net/igc/base/igc_hw.h @@ -166,6 +166,12 @@ struct igc_hw; #define IGC_DEV_ID_I225_I 0x15F8 #define IGC_DEV_ID_I220_V 0x15F7 #define IGC_DEV_ID_I225_BLANK_NVM 0x15FD +#define IGC_DEV_ID_I226_K 0x3102 +#define IGC_DEV_ID_I226_LMVP 0x5503 +#define IGC_DEV_ID_I226_LM 0x125B +#define IGC_DEV_ID_I226_V 0x125C +#define IGC_DEV_ID_I226_IT 0x125D +#define IGC_DEV_ID_I226_BLANK_NVM 0x125F #define IGC_DEV_ID_I354_BACKPLANE_1GBPS 0x1F40 #define IGC_DEV_ID_I354_SGMII 0x1F41 #define IGC_DEV_ID_I354_BACKPLANE_2_5GBPS 0x1F45 diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c index 060b2f8f93..5f3d535490 100644 --- a/drivers/net/igc/base/igc_i225.c +++ b/drivers/net/igc/base/igc_i225.c @@ -176,6 +176,7 @@ static s32 igc_init_phy_params_i225(struct igc_hw *hw) /* Verify phy id and set remaining function pointers */ switch (phy->id) { case I225_I_PHY_ID: + case I226_LM_PHY_ID: phy->type = igc_phy_i225; phy->ops.set_d0_lplu_state = igc_set_d0_lplu_state_i225; phy->ops.set_d3_lplu_state = igc_set_d3_lplu_state_i225; diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index a1f1a9772b..b9933b395d 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -97,6 +97,12 @@ static const struct rte_pci_id pci_id_igc_map[] = { { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I225_V) }, { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I225_I) }, { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I225_K) }, + { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I226_K) }, + { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I226_LMVP) }, + { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I226_LM) }, + { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I226_V) }, + { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I226_IT) }, + { RTE_PCI_DEVICE(IGC_INTEL_VENDOR_ID, IGC_DEV_ID_I226_BLANK_NVM) }, { .vendor_id = 0, /* sentinel */ }, }; -- 2.17.1