Message ID | 1545122800-57293-1-git-send-email-wenzhuo.lu@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 952AB1BAFB; Tue, 18 Dec 2018 09:41:55 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 971441B4AA for <dev@dpdk.org>; Tue, 18 Dec 2018 09:41:54 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Dec 2018 00:41:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,367,1539673200"; d="scan'208";a="111449422" Received: from dpdk26.sh.intel.com ([10.67.110.164]) by orsmga003.jf.intel.com with ESMTP; 18 Dec 2018 00:41:52 -0800 From: Wenzhuo Lu <wenzhuo.lu@intel.com> To: dev@dpdk.org Cc: Wenzhuo Lu <wenzhuo.lu@intel.com> Date: Tue, 18 Dec 2018 16:46:09 +0800 Message-Id: <1545122800-57293-1-git-send-email-wenzhuo.lu@intel.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1542956179-80951-1-git-send-email-wenzhuo.lu@intel.com> References: <1542956179-80951-1-git-send-email-wenzhuo.lu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v6 00/31] A new net PMD - ICE X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
A new net PMD - ICE
|
|
Message
Wenzhuo Lu
Dec. 18, 2018, 8:46 a.m. UTC
This patch set adds the support of a new net PMD, Intel® Ethernet Network Adapters E810, also called ice. Below features are enabled by this patch set, Basic features: 1, Basic device operations: probe, initialization, start/stop, configure, info get. 2, RX/TX queue operations: setup/release, start/stop, info get. 3, RX/TX. HW Offload features: 1, CRC Stripping/insertion. 2, L2/L3 checksum strip/insertion. 3, PVID set. 4, TPID change. 5, TSO (LRO/RSC not supported). Stats: 1, statics & xstatics. Switch functions: 1, MAC Filter Add/Delete. 2, VLAN Filter Add/Delete. Power saving: 1, RX interrupt mode. Misc: 1, Interrupt For Link Status. 2, firmware info query. 3, Jumbo Frame Support. 4, ptype check. 5, EEPROM check and set. --- v2: - Fix shared lib compile issue. - Add meson build support. - Update documents. - Fix more checkpatch issues. v3: - Removed the support of secondary process. - Splitted the base code to more patches. - Pass NULL to rte_zmalloc. - Changed some magic numbers to macros. - Fixed the wrong implementation of a specific bitmapi. v4: - Moved meson build forward. - Updated and splitted the document to related patches. - Updated the device info. - Removed unnecessary compile config. - Removed the code of ops rx_descriptor_done. - Adjusted the order of the functions. - Added error print for MAC setting. v5: - Removed ice_dcb.c/h. - Fixed compile error of icc and i686. - Announced dependence of uio and vfio. v6: - Adjusted the order of the patches. - Fixed some checkpatch errors. - Some minor change. Paul M Stillwell Jr (13): net/ice/base: add registers for Intel(R) E800 Series NIC net/ice/base: add basic structures net/ice/base: add admin queue structures and commands net/ice/base: add sideband queue info net/ice/base: add device IDs for Intel(r) E800 Series NICs net/ice/base: add control queue information net/ice/base: add basic transmit scheduler net/ice/base: add virtual switch code net/ice/base: add code to work with the NVM net/ice/base: add common functions net/ice/base: add various headers net/ice/base: add protocol structures and defines net/ice/base: add structures for RX/TX queues Wenzhuo Lu (18): net/ice/base: add OS specific implementation net/ice: support device initialization net/ice: support device and queue ops net/ice: support getting device information net/ice: support link update net/ice: support queue information getting net/ice: support packet type getting net/ice: support basic RX/TX net/ice: support MTU setting net/ice: support MAC ops net/ice: support VLAN ops net/ice: support RSS net/ice: support RX queue interruption net/ice: support FW version getting net/ice: support EEPROM information getting net/ice: support advance RX/TX net/ice: support statistics support descriptor ops MAINTAINERS | 8 + config/common_base | 9 + doc/guides/nics/features/ice.ini | 39 + doc/guides/nics/ice.rst | 104 + doc/guides/nics/index.rst | 1 + doc/guides/rel_notes/release_19_02.rst | 5 + drivers/net/Makefile | 1 + drivers/net/ice/Makefile | 55 + drivers/net/ice/base/README | 22 + drivers/net/ice/base/ice_adminq_cmd.h | 1891 ++++++ drivers/net/ice/base/ice_alloc.h | 22 + drivers/net/ice/base/ice_common.c | 3521 +++++++++++ drivers/net/ice/base/ice_common.h | 186 + drivers/net/ice/base/ice_controlq.c | 1098 ++++ drivers/net/ice/base/ice_controlq.h | 97 + drivers/net/ice/base/ice_devids.h | 17 + drivers/net/ice/base/ice_flex_type.h | 19 + drivers/net/ice/base/ice_flow.h | 8 + drivers/net/ice/base/ice_hw_autogen.h | 9815 ++++++++++++++++++++++++++++++ drivers/net/ice/base/ice_lan_tx_rx.h | 2291 +++++++ drivers/net/ice/base/ice_nvm.c | 387 ++ drivers/net/ice/base/ice_osdep.h | 524 ++ drivers/net/ice/base/ice_protocol_type.h | 248 + drivers/net/ice/base/ice_sbq_cmd.h | 93 + drivers/net/ice/base/ice_sched.c | 5380 ++++++++++++++++ drivers/net/ice/base/ice_sched.h | 210 + drivers/net/ice/base/ice_status.h | 45 + drivers/net/ice/base/ice_switch.c | 2812 +++++++++ drivers/net/ice/base/ice_switch.h | 333 + drivers/net/ice/base/ice_type.h | 869 +++ drivers/net/ice/base/meson.build | 27 + drivers/net/ice/ice_ethdev.c | 3245 ++++++++++ drivers/net/ice/ice_ethdev.h | 318 + drivers/net/ice/ice_logs.h | 45 + drivers/net/ice/ice_rxtx.c | 2872 +++++++++ drivers/net/ice/ice_rxtx.h | 154 + drivers/net/ice/meson.build | 13 + drivers/net/ice/rte_pmd_ice_version.map | 4 + drivers/net/meson.build | 1 + mk/rte.app.mk | 1 + 40 files changed, 36790 insertions(+) create mode 100644 doc/guides/nics/features/ice.ini create mode 100644 doc/guides/nics/ice.rst create mode 100644 drivers/net/ice/Makefile create mode 100644 drivers/net/ice/base/README create mode 100644 drivers/net/ice/base/ice_adminq_cmd.h create mode 100644 drivers/net/ice/base/ice_alloc.h create mode 100644 drivers/net/ice/base/ice_common.c create mode 100644 drivers/net/ice/base/ice_common.h create mode 100644 drivers/net/ice/base/ice_controlq.c create mode 100644 drivers/net/ice/base/ice_controlq.h create mode 100644 drivers/net/ice/base/ice_devids.h create mode 100644 drivers/net/ice/base/ice_flex_type.h create mode 100644 drivers/net/ice/base/ice_flow.h create mode 100644 drivers/net/ice/base/ice_hw_autogen.h create mode 100644 drivers/net/ice/base/ice_lan_tx_rx.h create mode 100644 drivers/net/ice/base/ice_nvm.c create mode 100644 drivers/net/ice/base/ice_osdep.h create mode 100644 drivers/net/ice/base/ice_protocol_type.h create mode 100644 drivers/net/ice/base/ice_sbq_cmd.h create mode 100644 drivers/net/ice/base/ice_sched.c create mode 100644 drivers/net/ice/base/ice_sched.h create mode 100644 drivers/net/ice/base/ice_status.h create mode 100644 drivers/net/ice/base/ice_switch.c create mode 100644 drivers/net/ice/base/ice_switch.h create mode 100644 drivers/net/ice/base/ice_type.h create mode 100644 drivers/net/ice/base/meson.build create mode 100644 drivers/net/ice/ice_ethdev.c create mode 100644 drivers/net/ice/ice_ethdev.h create mode 100644 drivers/net/ice/ice_logs.h create mode 100644 drivers/net/ice/ice_rxtx.c create mode 100644 drivers/net/ice/ice_rxtx.h create mode 100644 drivers/net/ice/meson.build create mode 100644 drivers/net/ice/rte_pmd_ice_version.map
Comments
On 12/18/2018 8:46 AM, Wenzhuo Lu wrote: > This patch set adds the support of a new net PMD, > Intel® Ethernet Network Adapters E810, also > called ice. > > Below features are enabled by this patch set, > > Basic features: > 1, Basic device operations: probe, initialization, start/stop, configure, info get. > 2, RX/TX queue operations: setup/release, start/stop, info get. > 3, RX/TX. > > HW Offload features: > 1, CRC Stripping/insertion. > 2, L2/L3 checksum strip/insertion. > 3, PVID set. > 4, TPID change. > 5, TSO (LRO/RSC not supported). > > Stats: > 1, statics & xstatics. > > Switch functions: > 1, MAC Filter Add/Delete. > 2, VLAN Filter Add/Delete. > > Power saving: > 1, RX interrupt mode. > > Misc: > 1, Interrupt For Link Status. > 2, firmware info query. > 3, Jumbo Frame Support. > 4, ptype check. > 5, EEPROM check and set. > > --- > v2: > - Fix shared lib compile issue. > - Add meson build support. > - Update documents. > - Fix more checkpatch issues. > > v3: > - Removed the support of secondary process. > - Splitted the base code to more patches. > - Pass NULL to rte_zmalloc. > - Changed some magic numbers to macros. > - Fixed the wrong implementation of a specific bitmapi. > > v4: > - Moved meson build forward. > - Updated and splitted the document to related patches. > - Updated the device info. > - Removed unnecessary compile config. > - Removed the code of ops rx_descriptor_done. > - Adjusted the order of the functions. > - Added error print for MAC setting. > > v5: > - Removed ice_dcb.c/h. > - Fixed compile error of icc and i686. > - Announced dependence of uio and vfio. > > v6: > - Adjusted the order of the patches. > - Fixed some checkpatch errors. > - Some minor change. > > Paul M Stillwell Jr (13): > net/ice/base: add registers for Intel(R) E800 Series NIC > net/ice/base: add basic structures > net/ice/base: add admin queue structures and commands > net/ice/base: add sideband queue info > net/ice/base: add device IDs for Intel(r) E800 Series NICs > net/ice/base: add control queue information > net/ice/base: add basic transmit scheduler > net/ice/base: add virtual switch code > net/ice/base: add code to work with the NVM > net/ice/base: add common functions > net/ice/base: add various headers > net/ice/base: add protocol structures and defines > net/ice/base: add structures for RX/TX queues > > Wenzhuo Lu (18): > net/ice/base: add OS specific implementation > net/ice: support device initialization > net/ice: support device and queue ops > net/ice: support getting device information > net/ice: support link update > net/ice: support queue information getting > net/ice: support packet type getting > net/ice: support basic RX/TX > net/ice: support MTU setting > net/ice: support MAC ops > net/ice: support VLAN ops > net/ice: support RSS > net/ice: support RX queue interruption > net/ice: support FW version getting > net/ice: support EEPROM information getting > net/ice: support advance RX/TX > net/ice: support statistics > support descriptor ops For series, Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
> -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit > Sent: Tuesday, December 18, 2018 9:53 PM > To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v6 00/31] A new net PMD - ICE > > On 12/18/2018 8:46 AM, Wenzhuo Lu wrote: > > This patch set adds the support of a new net PMD, Intel® Ethernet > > Network Adapters E810, also called ice. > > > > Below features are enabled by this patch set, > > > > Basic features: > > 1, Basic device operations: probe, initialization, start/stop, configure, info get. > > 2, RX/TX queue operations: setup/release, start/stop, info get. > > 3, RX/TX. > > > > HW Offload features: > > 1, CRC Stripping/insertion. > > 2, L2/L3 checksum strip/insertion. > > 3, PVID set. > > 4, TPID change. > > 5, TSO (LRO/RSC not supported). > > > > Stats: > > 1, statics & xstatics. > > > > Switch functions: > > 1, MAC Filter Add/Delete. > > 2, VLAN Filter Add/Delete. > > > > Power saving: > > 1, RX interrupt mode. > > > > Misc: > > 1, Interrupt For Link Status. > > 2, firmware info query. > > 3, Jumbo Frame Support. > > 4, ptype check. > > 5, EEPROM check and set. > > > > --- > > v2: > > - Fix shared lib compile issue. > > - Add meson build support. > > - Update documents. > > - Fix more checkpatch issues. > > > > v3: > > - Removed the support of secondary process. > > - Splitted the base code to more patches. > > - Pass NULL to rte_zmalloc. > > - Changed some magic numbers to macros. > > - Fixed the wrong implementation of a specific bitmapi. > > > > v4: > > - Moved meson build forward. > > - Updated and splitted the document to related patches. > > - Updated the device info. > > - Removed unnecessary compile config. > > - Removed the code of ops rx_descriptor_done. > > - Adjusted the order of the functions. > > - Added error print for MAC setting. > > > > v5: > > - Removed ice_dcb.c/h. > > - Fixed compile error of icc and i686. > > - Announced dependence of uio and vfio. > > > > v6: > > - Adjusted the order of the patches. > > - Fixed some checkpatch errors. > > - Some minor change. > > > > Paul M Stillwell Jr (13): > > net/ice/base: add registers for Intel(R) E800 Series NIC > > net/ice/base: add basic structures > > net/ice/base: add admin queue structures and commands > > net/ice/base: add sideband queue info > > net/ice/base: add device IDs for Intel(r) E800 Series NICs > > net/ice/base: add control queue information > > net/ice/base: add basic transmit scheduler > > net/ice/base: add virtual switch code > > net/ice/base: add code to work with the NVM > > net/ice/base: add common functions > > net/ice/base: add various headers > > net/ice/base: add protocol structures and defines > > net/ice/base: add structures for RX/TX queues > > > > Wenzhuo Lu (18): > > net/ice/base: add OS specific implementation > > net/ice: support device initialization > > net/ice: support device and queue ops > > net/ice: support getting device information > > net/ice: support link update > > net/ice: support queue information getting > > net/ice: support packet type getting > > net/ice: support basic RX/TX > > net/ice: support MTU setting > > net/ice: support MAC ops > > net/ice: support VLAN ops > > net/ice: support RSS > > net/ice: support RX queue interruption > > net/ice: support FW version getting > > net/ice: support EEPROM information getting > > net/ice: support advance RX/TX > > net/ice: support statistics > > support descriptor ops > > For series, > Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Patch 15/31 ~ 21/31 Reviewed-by: Qi Zhang <qi.z.zhang@intel.com> Applied to dpdk-next-net-intel with minor fix as below. 1. fix missing "net/ice:" on title of patch 31/31 2. rename RX/TX to Rx/Tx to fix check-git-log warning. Thanks Qi