From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HK_RANDOM_FROM,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71AD7C43331 for ; Fri, 27 Mar 2020 03:04:44 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 08BCF20787 for ; Fri, 27 Mar 2020 03:04:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 08BCF20787 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 075B81C067; Fri, 27 Mar 2020 04:04:43 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id D98271C030 for ; Fri, 27 Mar 2020 04:04:40 +0100 (CET) IronPort-SDR: bPPfchTiMejGghLrMCHUEvjFc8VcWu5INndqcprhvZvF8TWMMv9UM/xM5pLarJLclwnMGEf7SH 4YucGb8eAvMw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2020 20:04:39 -0700 IronPort-SDR: e2xql0t4dwlUufnSdUE0/hHEjt7lFqAsvDvQO6V1E2+7U2REyPohZIolkv/ec0NiTQ9RrxTJCA lZaDLN7hgmdg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,310,1580803200"; d="scan'208";a="420949707" Received: from npg-dpdk-haiyue-1.sh.intel.com ([10.67.119.213]) by orsmga005.jf.intel.com with ESMTP; 26 Mar 2020 20:04:37 -0700 From: Haiyue Wang To: dev@dpdk.org, xiaolong.ye@intel.com, qi.z.zhang@intel.com, jingjing.wu@intel.com, qiming.yang@intel.com, beilei.xing@intel.com Cc: wei.zhao1@intel.com, Haiyue Wang Date: Fri, 27 Mar 2020 10:56:34 +0800 Message-Id: <20200327025641.31008-1-haiyue.wang@intel.com> X-Mailer: git-send-email 2.26.0 In-Reply-To: <20200309141437.11800-1-haiyue.wang@intel.com> References: <20200309141437.11800-1-haiyue.wang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v6 0/7] add Intel DCF PMD support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" A DCF (Device Config Function) based approach is proposed where a device bound to the device's VF0 can act as a sole controlling entity to exercise advance functionality (such as switch, ACL) for rest of the VFs. The DCF works as a standalone PMD to support this function, which shares the ice PMD flow control core function and the iavf virtchnl mailbox core module. v6: No change, but to resend the same patchset again to trigger ci/Performance-Testing by using the new code base: https://lab.dpdk.org/results/dashboard/patchsets/10120/ v5: Fixed the shared module compile errror. v4: Change the alarm handler to thread service, since it will need to do more work. v3: 1. Fixed the error log message format. 2. Fixed some memory allocation check. 3. Fixed some code style issue and commmit message description. v2: 1. update the iavf patchset link. 2. split more patches for making this work be more understandable 3. fix the log function usage, devargs checking from v1. Haiyue Wang (7): net/iavf: stop the PCI probe in DCF mode net/ice: add the DCF hardware initialization net/ice: acquire and disable the DCF capability net/ice: handle the AdminQ command by DCF net/ice: export the DDP definition symbols net/ice: handle the PF initialization by DCF net/ice: get the VF hardware index in DCF doc/guides/nics/ice.rst | 47 ++ doc/guides/nics/img/ice_dcf.png | Bin 0 -> 39168 bytes doc/guides/rel_notes/release_20_05.rst | 5 + drivers/common/Makefile | 1 + drivers/net/iavf/iavf_ethdev.c | 43 ++ drivers/net/ice/Makefile | 7 + drivers/net/ice/ice_dcf.c | 658 +++++++++++++++++++++++++ drivers/net/ice/ice_dcf.h | 63 +++ drivers/net/ice/ice_dcf_ethdev.c | 321 ++++++++++++ drivers/net/ice/ice_dcf_ethdev.h | 33 ++ drivers/net/ice/ice_dcf_parent.c | 351 +++++++++++++ drivers/net/ice/ice_ethdev.c | 9 +- drivers/net/ice/ice_ethdev.h | 8 + drivers/net/ice/meson.build | 8 +- mk/rte.app.mk | 1 + 15 files changed, 1545 insertions(+), 10 deletions(-) create mode 100644 doc/guides/nics/img/ice_dcf.png create mode 100644 drivers/net/ice/ice_dcf.c create mode 100644 drivers/net/ice/ice_dcf.h create mode 100644 drivers/net/ice/ice_dcf_ethdev.c create mode 100644 drivers/net/ice/ice_dcf_ethdev.h create mode 100644 drivers/net/ice/ice_dcf_parent.c -- 2.26.0