From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id B9A8BA00C2;
	Mon, 31 Oct 2022 10:04:17 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 5EABC40693;
	Mon, 31 Oct 2022 10:04:17 +0100 (CET)
Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31])
 by mails.dpdk.org (Postfix) with ESMTP id DFA8F400D5
 for <dev@dpdk.org>; Mon, 31 Oct 2022 10:04:15 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1667207056; x=1698743056;
 h=from:to:cc:subject:date:message-id:in-reply-to:
 references:mime-version:content-transfer-encoding;
 bh=WWt+wT9MVM1NqCCqwpo4cauo3ZbKWq6i89Qaqg3qjRE=;
 b=KuBTQiM7HsKZ38Wz/3u+28/XHXm1Dv642d3dhF/pI1e9FHVHJ3MyRhR7
 F6unTjA8g72tp/+Bnz4M78zK9ZjBOYILl3CRsmASi/zpO76TNzVsPvIxL
 9Bm/LGX4QZ46vVMQFx7GK4WVxuI/hFxulevzfaf3Tl+B41eONM5tK0ITV
 lM0JI3cPN6UTZgR60hGTSH9wT4RUBIvGjx7rWObOIm03D82QGq6L7U2dx
 HX3uwb8gCEvxx+BqYR8im4ZxVypSHLlaH4TbR5V4K59PspDuAcHffRbew
 wy+MckScxx/RoqrCtSWo8QkOkKkh4y89bqT8SM1szwbiuRnndSUt78AYd Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10516"; a="370926258"
X-IronPort-AV: E=Sophos;i="5.95,227,1661842800"; d="scan'208";a="370926258"
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 31 Oct 2022 02:03:57 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10516"; a="878664732"
X-IronPort-AV: E=Sophos;i="5.95,227,1661842800"; d="scan'208";a="878664732"
Received: from dpdk-beileix-3.sh.intel.com ([10.67.110.253])
 by fmsmga006.fm.intel.com with ESMTP; 31 Oct 2022 02:03:55 -0700
From: beilei.xing@intel.com
To: jingjing.wu@intel.com,
	beilei.xing@intel.com
Cc: dev@dpdk.org
Subject: [PATCH v18 00/18] add support for idpf PMD in DPDK
Date: Mon, 31 Oct 2022 08:33:28 +0000
Message-Id: <20221031083346.16558-1-beilei.xing@intel.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20221031051556.98549-1-beilei.xing@intel.com>
References: <20221031051556.98549-1-beilei.xing@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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

From: Beilei Xing <beilei.xing@intel.com>

This patchset introduced the idpf (Infrastructure Data Path Function) PMD in DPDK for IntelĀ® IPU E2000 (Device ID: 0x1452).
The IntelĀ® IPU E2000 targets to deliver high performance under real workloads with security and isolation.
Please refer to
https://www.intel.com/content/www/us/en/products/network-io/infrastructure-processing-units/asic/e2000-asic.html
for more information.

Linux upstream is still ongoing, previous work refers to https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20220128001009.721392-20-alan.brady@intel.com/.

v2-v4:
fixed some coding style issues and did some refactors.

v5:
fixed typo.

v6-v9:
fixed build errors and coding style issues.

v11:
 - move shared code to common/idpf/base
 - Create one vport if there's no vport devargs
 - Refactor if conditions according to coding style
 - Refactor virtual channel return values
 - Refine dev_stop function
 - Refine RSS lut/key
 - Fix build error

v12:
 - Refine dev_configure
 - Fix coding style according to the comments
 - Re-order patch
 - Romove dev_supported_ptypes_get

v13:
 - refine dev_start/stop and queue_start/stop
 - fix timestamp offload

v14:
 - fix wrong position for rte_validate_tx_offload

v15:
 - refine the return value for ethdev ops.
 - removce forward static declarations.
 - refine get caps.
 - fix lock/unlock handling.

v16:
 - refine errno in shared code
 - remove the conditional compilation IDPF_RX_PTYPE_OFFLOAD

v17:
 - fix build error on FreeBSD

v18:
 - remove the conditional compilation IDPF_RX_PTYPE_OFFLOAD

Junfeng Guo (18):
  common/idpf: introduce common library
  net/idpf: add support for device initialization
  net/idpf: add Tx queue setup
  net/idpf: add Rx queue setup
  net/idpf: add support for device start and stop
  net/idpf: add support for queue start
  net/idpf: add support for queue stop
  net/idpf: add queue release
  net/idpf: add support for MTU configuration
  net/idpf: add support for basic Rx datapath
  net/idpf: add support for basic Tx datapath
  net/idpf: support parsing packet type
  net/idpf: add support for write back based on ITR expire
  net/idpf: add support for RSS
  net/idpf: add support for Rx offloading
  net/idpf: add support for Tx offloading
  net/idpf: add AVX512 data path for single queue model
  net/idpf: add support for timestamp offload

 MAINTAINERS                                   |    9 +
 doc/guides/nics/features/idpf.ini             |   17 +
 doc/guides/nics/idpf.rst                      |   85 +
 doc/guides/nics/index.rst                     |    1 +
 doc/guides/rel_notes/release_22_11.rst        |    6 +
 drivers/common/idpf/base/idpf_alloc.h         |   22 +
 drivers/common/idpf/base/idpf_common.c        |  364 +++
 drivers/common/idpf/base/idpf_controlq.c      |  691 ++++
 drivers/common/idpf/base/idpf_controlq.h      |  224 ++
 drivers/common/idpf/base/idpf_controlq_api.h  |  207 ++
 .../common/idpf/base/idpf_controlq_setup.c    |  179 +
 drivers/common/idpf/base/idpf_devids.h        |   18 +
 drivers/common/idpf/base/idpf_lan_pf_regs.h   |  134 +
 drivers/common/idpf/base/idpf_lan_txrx.h      |  428 +++
 drivers/common/idpf/base/idpf_lan_vf_regs.h   |  114 +
 drivers/common/idpf/base/idpf_osdep.h         |  364 +++
 drivers/common/idpf/base/idpf_prototype.h     |   45 +
 drivers/common/idpf/base/idpf_type.h          |  106 +
 drivers/common/idpf/base/meson.build          |   14 +
 drivers/common/idpf/base/siov_regs.h          |   47 +
 drivers/common/idpf/base/virtchnl.h           | 2866 +++++++++++++++++
 drivers/common/idpf/base/virtchnl2.h          | 1462 +++++++++
 drivers/common/idpf/base/virtchnl2_lan_desc.h |  606 ++++
 .../common/idpf/base/virtchnl_inline_ipsec.h  |  567 ++++
 drivers/common/idpf/meson.build               |    4 +
 drivers/common/idpf/version.map               |   12 +
 drivers/common/meson.build                    |    1 +
 drivers/net/idpf/idpf_ethdev.c                | 1293 ++++++++
 drivers/net/idpf/idpf_ethdev.h                |  252 ++
 drivers/net/idpf/idpf_logs.h                  |   56 +
 drivers/net/idpf/idpf_rxtx.c                  | 2308 +++++++++++++
 drivers/net/idpf/idpf_rxtx.h                  |  291 ++
 drivers/net/idpf/idpf_rxtx_vec_avx512.c       |  857 +++++
 drivers/net/idpf/idpf_rxtx_vec_common.h       |  100 +
 drivers/net/idpf/idpf_vchnl.c                 | 1416 ++++++++
 drivers/net/idpf/meson.build                  |   44 +
 drivers/net/idpf/version.map                  |    3 +
 drivers/net/meson.build                       |    1 +
 38 files changed, 15214 insertions(+)
 create mode 100644 doc/guides/nics/features/idpf.ini
 create mode 100644 doc/guides/nics/idpf.rst
 create mode 100644 drivers/common/idpf/base/idpf_alloc.h
 create mode 100644 drivers/common/idpf/base/idpf_common.c
 create mode 100644 drivers/common/idpf/base/idpf_controlq.c
 create mode 100644 drivers/common/idpf/base/idpf_controlq.h
 create mode 100644 drivers/common/idpf/base/idpf_controlq_api.h
 create mode 100644 drivers/common/idpf/base/idpf_controlq_setup.c
 create mode 100644 drivers/common/idpf/base/idpf_devids.h
 create mode 100644 drivers/common/idpf/base/idpf_lan_pf_regs.h
 create mode 100644 drivers/common/idpf/base/idpf_lan_txrx.h
 create mode 100644 drivers/common/idpf/base/idpf_lan_vf_regs.h
 create mode 100644 drivers/common/idpf/base/idpf_osdep.h
 create mode 100644 drivers/common/idpf/base/idpf_prototype.h
 create mode 100644 drivers/common/idpf/base/idpf_type.h
 create mode 100644 drivers/common/idpf/base/meson.build
 create mode 100644 drivers/common/idpf/base/siov_regs.h
 create mode 100644 drivers/common/idpf/base/virtchnl.h
 create mode 100644 drivers/common/idpf/base/virtchnl2.h
 create mode 100644 drivers/common/idpf/base/virtchnl2_lan_desc.h
 create mode 100644 drivers/common/idpf/base/virtchnl_inline_ipsec.h
 create mode 100644 drivers/common/idpf/meson.build
 create mode 100644 drivers/common/idpf/version.map
 create mode 100644 drivers/net/idpf/idpf_ethdev.c
 create mode 100644 drivers/net/idpf/idpf_ethdev.h
 create mode 100644 drivers/net/idpf/idpf_logs.h
 create mode 100644 drivers/net/idpf/idpf_rxtx.c
 create mode 100644 drivers/net/idpf/idpf_rxtx.h
 create mode 100644 drivers/net/idpf/idpf_rxtx_vec_avx512.c
 create mode 100644 drivers/net/idpf/idpf_rxtx_vec_common.h
 create mode 100644 drivers/net/idpf/idpf_vchnl.c
 create mode 100644 drivers/net/idpf/meson.build
 create mode 100644 drivers/net/idpf/version.map

-- 
2.26.2