From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 035EAA0613 for ; Thu, 26 Sep 2019 09:55:17 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 68ABE1BEB7; Thu, 26 Sep 2019 09:55:16 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 80AC41BEB5; Thu, 26 Sep 2019 09:55:13 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Sep 2019 00:55:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,551,1559545200"; d="scan'208";a="219277130" Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.10]) ([10.237.221.10]) by fmsmga002.fm.intel.com with ESMTP; 26 Sep 2019 00:55:10 -0700 To: "Wei Hu (Xavier)" , Aaron Conole Cc: dev@dpdk.org, test-report@dpdk.org, xavier_huwei@163.com, linuxarm@huawei.com, forest.zhouchang@huawei.com, xavier.huwei@tom.com References: <1568985955-13548-1-git-send-email-xavier.huwei@huawei.com> <1965559f-a33f-e890-648a-0183f5511f46@huawei.com> <6de4756b-72c1-ef45-57dd-8c1a254746bf@huawei.com> From: Ferruh Yigit Openpgp: preference=signencrypt Autocrypt: addr=ferruh.yigit@intel.com; prefer-encrypt=mutual; keydata= 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 cA== Message-ID: <97f9e8ef-05e8-345a-d994-03930fcd5c35@intel.com> Date: Thu, 26 Sep 2019 08:55:10 +0100 MIME-Version: 1.0 In-Reply-To: <6de4756b-72c1-ef45-57dd-8c1a254746bf@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v2 00/22] add hns3 ethernet PMD driver 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" On 9/25/2019 3:30 AM, Wei Hu (Xavier) wrote: > > > On 2019/9/25 4:34, Aaron Conole wrote: >> "Wei Hu (Xavier)" writes: >> >>> Hi, Ferruh Yigit >>> >>> I sent out patch V2 yesterday. And I found that the following page >>> indicates that there is a compilation error. >>> >>> http://mails.dpdk.org/archives/test-report/2019-September/098385.html >>> >>> The relevant sections in the log: >>> >>> <...> >>> >>> *Meson Build Failed #1: OS: FC30-64 Target:build-gcc-static FAILED: >>> drivers/a715181@@tmp_rte_pmd_hns3 at sta >>> /net_hns3_hns3_ethdev_vf.c.o >>> >>> <...> >>> >>> ../drivers/net/hns3/hns3_ethdev_vf.c:1552:24: error: initialization of >>> ‘void (*)(struct rte_eth_dev *, struct rte_eth_dev_info *)’ from >>> incompatible pointer type ‘int (*)(struct rte_eth_dev *, struct >>> rte_eth_dev_info *)’ [-Werror=incompatible-pointer-types] 1552 | >>> .dev_infos_get = hns3vf_dev_infos_get, | ^~~~~~~~~~~~~~~~~~~~ >>> ../drivers/net/hns3/hns3_ethdev_vf.c:1552:24: note: (near initialization >>> for ‘hns3vf_eth_dev_ops.dev_infos_get’) cc1: all warnings being treated >>> as errors >>> >>> <...> >>> >>> But I found that perhaps the reason for this compilation error is that >>> the following patch was not built on CI, >>> >>> and it had been in the latest branch of the repository: >>> http://dpdk.org/git/next/dpdk-next-net >> The patch you reference is still not present. I guess perhaps it might >> have been clobbered in a rebase? > Hi, Aaron Conole > > The patch is still in the repository now, but the commit id has been > changed. The detail information as below: > > repo: http://dpdk.org/git/next/dpdk-next-net > branch: master > > commit b90f5e9b44c088d0bfa77d0458f5b28045935835 > Author: Ivan Ilchenko > Date: Thu Sep 12 17:42:28 2019 +0100 > > ethdev: change device info get callback to return int > > Change eth_dev_infos_get_t return value from void to int. > Make eth_dev_infos_get_t implementations across all drivers to return > negative errno values if case of error conditions. > > Signed-off-by: Ivan Ilchenko > Signed-off-by: Andrew Rybchenko > Reviewed-by: Ferruh Yigit > > <...> Hi Xavier, The recent ethdev patches affects the drivers, please double check if you driver is based on latest next-net? If it is, you can ignore the related build warnings for now, it will settle down. > > diff --git a/lib/librte_ethdev/rte_ethdev_core.h > b/lib/librte_ethdev/rte_ethdev_core.h > index 2922d5b..2394b32 100644 > --- a/lib/librte_ethdev/rte_ethdev_core.h > +++ b/lib/librte_ethdev/rte_ethdev_core.h > @@ -103,8 +103,8 @@ typedef int (*eth_queue_stats_mapping_set_t)(struct > rte_eth_dev *dev, > uint8_t is_rx); > /**< @internal Set a queue statistics mapping for a tx/rx queue of an > Ethernet device. */ > > -typedef void (*eth_dev_infos_get_t)(struct rte_eth_dev *dev, > - struct rte_eth_dev_info *dev_info); > +typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev, > + struct rte_eth_dev_info *dev_info); > > Thanks for your comment. > > Regards > Xavier > >>> The information of the relevant patch as below: >>> >>> commit 84c4620318b642aea9b5388aa7fbc79a4fe6f29e >>> Author: Ivan Ilchenko >>> Date: Thu Sep 12 17:42:28 2019 +0100 >>> >>> ethdev: change device info get callback to return int >>> >>> diff --git a/lib/librte_ethdev/rte_ethdev_core.h >>> b/lib/librte_ethdev/rte_ethdev_core.h >>> index 2922d5b..2394b32 100644 >>> --- a/lib/librte_ethdev/rte_ethdev_core.h >>> +++ b/lib/librte_ethdev/rte_ethdev_core.h >>> @@ -103,8 +103,8 @@ typedef int (*eth_queue_stats_mapping_set_t)(struct >>> rte_eth_dev *dev, >>> uint8_t is_rx); >>> /**< @internal Set a queue statistics mapping for a tx/rx queue of an >>> Ethernet device. */ >>> >>> -typedef void (*eth_dev_infos_get_t)(struct rte_eth_dev *dev, >>> - struct rte_eth_dev_info *dev_info); >>> +typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev, >>> + struct rte_eth_dev_info *dev_info); >>> /**< @internal Get specific information of an Ethernet device. */ >>> >>> >>> Regards >>> Xavier >>> >>> On 2019/9/20 21:25, Wei Hu (Xavier) wrote: >>>> The Hisilicon Network Subsystem is a long term evolution IP which is >>>> supposed to be used in Hisilicon ICT SoCs such as Kunpeng 920. >>>> >>>> This series add DPDK rte_ethdev poll mode driver for Hisilicon >>>> Network Subsystem 3(hns3) network engine. >>>> >>>> Wei Hu (Xavier) (22): >>>> net/hns3: add hns3 build and doc infrastructure >>>> net/hns3: add hardware registers definition >>>> net/hns3: add some definitions for data structure and macro >>>> net/hns3: register hns3 PMD driver and add the log interface >>>> definition >>>> net/hns3: add support for cmd of hns3 PMD driver >>>> net/hns3: add the initialization of hns3 PMD driver >>>> net/hns3: add support for MAC address related operations >>>> net/hns3: add support for some misc operations >>>> net/hns3: add support for link_update operation >>>> net/hns3: add support for flow directory of hns3 PMD driver >>>> net/hns3: add support for RSS of hns3 PMD driver >>>> net/hns3: add support for flow control of hns3 PMD driver >>>> net/hns3: add support for vlan of hns3 PMD driver >>>> net/hns3: add support for mailbox of hns3 PMD driver >>>> net/hns3: add support for hns3 VF PMD driver >>>> net/hns3: add RX/TX package burst and queue related operation >>>> net/hns3: add start stop configure promiscuous ops >>>> net/hns3: add dump register ops for hns3 PMD driver >>>> net/hns3: add abnormal interrupt process for hns3 PMD driver >>>> net/hns3: add stats related ops for hns3 PMD driver >>>> net/hns3: add reset related process for hns3 PMD driver >>>> net/hns3: add multiple process support for hns3 PMD driver >>>> >>>> MAINTAINERS | 8 + >>>> config/common_base | 5 + >>>> config/common_linux | 5 + >>>> config/defconfig_arm-armv7a-linuxapp-gcc | 1 + >>>> config/defconfig_i686-native-linuxapp-gcc | 5 + >>>> config/defconfig_i686-native-linuxapp-icc | 5 + >>>> config/defconfig_ppc_64-power8-linuxapp-gcc | 1 + >>>> config/defconfig_x86_64-native-linuxapp-icc | 5 + >>>> config/defconfig_x86_x32-native-linuxapp-gcc | 5 + >>>> doc/guides/nics/features/hns3.ini | 34 + >>>> doc/guides/nics/features/hns3_vf.ini | 29 + >>>> doc/guides/nics/hns3.rst | 60 + >>>> doc/guides/nics/index.rst | 1 + >>>> doc/guides/rel_notes/release_19_11.rst | 5 + >>>> drivers/net/Makefile | 1 + >>>> drivers/net/hns3/Makefile | 45 + >>>> drivers/net/hns3/hns3_cmd.c | 565 +++ >>>> drivers/net/hns3/hns3_cmd.h | 761 ++++ >>>> drivers/net/hns3/hns3_dcb.c | 1642 +++++++++ >>>> drivers/net/hns3/hns3_dcb.h | 166 + >>>> drivers/net/hns3/hns3_ethdev.c | 4939 ++++++++++++++++++++++++++ >>>> drivers/net/hns3/hns3_ethdev.h | 645 ++++ >>>> drivers/net/hns3/hns3_ethdev_vf.c | 1735 +++++++++ >>>> drivers/net/hns3/hns3_fdir.c | 1059 ++++++ >>>> drivers/net/hns3/hns3_fdir.h | 205 ++ >>>> drivers/net/hns3/hns3_flow.c | 1903 ++++++++++ >>>> drivers/net/hns3/hns3_intr.c | 1166 ++++++ >>>> drivers/net/hns3/hns3_intr.h | 79 + >>>> drivers/net/hns3/hns3_logs.h | 34 + >>>> drivers/net/hns3/hns3_mbx.c | 353 ++ >>>> drivers/net/hns3/hns3_mbx.h | 136 + >>>> drivers/net/hns3/hns3_mp.c | 214 ++ >>>> drivers/net/hns3/hns3_mp.h | 14 + >>>> drivers/net/hns3/hns3_regs.c | 368 ++ >>>> drivers/net/hns3/hns3_regs.h | 99 + >>>> drivers/net/hns3/hns3_rss.c | 584 +++ >>>> drivers/net/hns3/hns3_rss.h | 124 + >>>> drivers/net/hns3/hns3_rxtx.c | 1676 +++++++++ >>>> drivers/net/hns3/hns3_rxtx.h | 317 ++ >>>> drivers/net/hns3/hns3_stats.c | 971 +++++ >>>> drivers/net/hns3/hns3_stats.h | 152 + >>>> drivers/net/hns3/meson.build | 37 + >>>> drivers/net/hns3/rte_pmd_hns3_version.map | 3 + >>>> drivers/net/meson.build | 1 + >>>> mk/rte.app.mk | 1 + >>>> 45 files changed, 20164 insertions(+) >>>> create mode 100644 doc/guides/nics/features/hns3.ini >>>> create mode 100644 doc/guides/nics/features/hns3_vf.ini >>>> create mode 100644 doc/guides/nics/hns3.rst >>>> create mode 100644 drivers/net/hns3/Makefile >>>> create mode 100644 drivers/net/hns3/hns3_cmd.c >>>> create mode 100644 drivers/net/hns3/hns3_cmd.h >>>> create mode 100644 drivers/net/hns3/hns3_dcb.c >>>> create mode 100644 drivers/net/hns3/hns3_dcb.h >>>> create mode 100644 drivers/net/hns3/hns3_ethdev.c >>>> create mode 100644 drivers/net/hns3/hns3_ethdev.h >>>> create mode 100644 drivers/net/hns3/hns3_ethdev_vf.c >>>> create mode 100644 drivers/net/hns3/hns3_fdir.c >>>> create mode 100644 drivers/net/hns3/hns3_fdir.h >>>> create mode 100644 drivers/net/hns3/hns3_flow.c >>>> create mode 100644 drivers/net/hns3/hns3_intr.c >>>> create mode 100644 drivers/net/hns3/hns3_intr.h >>>> create mode 100644 drivers/net/hns3/hns3_logs.h >>>> create mode 100644 drivers/net/hns3/hns3_mbx.c >>>> create mode 100644 drivers/net/hns3/hns3_mbx.h >>>> create mode 100644 drivers/net/hns3/hns3_mp.c >>>> create mode 100644 drivers/net/hns3/hns3_mp.h >>>> create mode 100644 drivers/net/hns3/hns3_regs.c >>>> create mode 100644 drivers/net/hns3/hns3_regs.h >>>> create mode 100644 drivers/net/hns3/hns3_rss.c >>>> create mode 100644 drivers/net/hns3/hns3_rss.h >>>> create mode 100644 drivers/net/hns3/hns3_rxtx.c >>>> create mode 100644 drivers/net/hns3/hns3_rxtx.h >>>> create mode 100644 drivers/net/hns3/hns3_stats.c >>>> create mode 100644 drivers/net/hns3/hns3_stats.h >>>> create mode 100644 drivers/net/hns3/meson.build >>>> create mode 100644 drivers/net/hns3/rte_pmd_hns3_version.map >>>> >> . >> > >