From patchwork Thu May 19 06:09:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Qiming Yang X-Patchwork-Id: 111343 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8BCB5A0503; Thu, 19 May 2022 08:12:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2D3AD40150; Thu, 19 May 2022 08:12:44 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id DE90840140 for ; Thu, 19 May 2022 08:12:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652940763; x=1684476763; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=4GbGtpGlNfbxyEgN+MWEv+PA5IdegTSY1l/c5xstLWo=; b=oH12bkV3FsH82GyEcq8XCXhNq/w6OowbmgHsITYlksgJqK40Y7zAvCzq ihVwp2gp1EmemGOnCd3Gcn/ElrXQ0LY/1EWTPg+GrpDefyWtuJSWn4cW6 WN5fn0ldepgGyXCgg1CpHOsttmC7lvwHa5CgIKg4UcOV73NQFZ+yeBtlx CQ+kd49bAPdTnhn1RyR9egjdaP+j+PCFW0Si1xFr4+lg071BfAqntEdZD hEw8h1Ao0oBQN32bvct5SA4izY3i/m5kjYYqZLPl+74y1UUl348wfqpNA 3VwAoR8Lk/IfM8OQRjWgy5OAN5SB/V5jfE73i8EjCvTSsS+OtKgLplWkH g==; X-IronPort-AV: E=McAfee;i="6400,9594,10351"; a="358445478" X-IronPort-AV: E=Sophos;i="5.91,236,1647327600"; d="scan'208";a="358445478" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2022 23:12:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,236,1647327600"; d="scan'208";a="742738876" Received: from dpdk-qiming3.sh.intel.com ([10.67.110.236]) by orsmga005.jf.intel.com with ESMTP; 18 May 2022 23:12:40 -0700 From: Qiming Yang To: dev@dpdk.org, qi.z.zhang@intel.com Cc: Qiming Yang , Kevin Liu Subject: [PATCH] net/igc: add I226 support Date: Thu, 19 May 2022 06:09:28 +0000 Message-Id: <20220519060928.2586282-1-qiming.yang@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 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 --- 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 f03183ee86..17ca1510e4 100644 --- a/doc/guides/rel_notes/release_22_03.rst +++ b/doc/guides/rel_notes/release_22_03.rst @@ -88,6 +88,11 @@ New Features * Added AES-XCBC support in lookaside protocol (IPsec) for CN9K & CN10K. * Added AES-CMAC support in CN9K & CN10K. +* **Added support for Intel Foxville I226 devices.** + + Added Intel Foxville I226 devices in ``igc`` driver. See the + :doc:`../nics/igc` NIC guide for more details. + * **Added an API to retrieve event port id of ethdev Rx adapter.** The new API ``rte_event_eth_rx_adapter_event_port_get()`` was added. 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 */ }, };