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 1FB6FA0562; Fri, 3 Apr 2020 14:21:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5136C1C0D7; Fri, 3 Apr 2020 14:21:42 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id DD8511C0C4 for ; Fri, 3 Apr 2020 14:21:39 +0200 (CEST) IronPort-SDR: qA76xcZVcDuzFRtSjl42pJQH+5rqZYr28ZSdSDDvRTJTeabr8YQEUi+VSUkf+qRjJur2DtTQDd eT+khbRdLxjQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Apr 2020 05:21:38 -0700 IronPort-SDR: EKL6yYSRskF3Y95ucOeyvPiTRPvZ1pBFbHtS3GUuaS9A2EBLUPLHakdlmz7pgwCdPTrIBwVihP 0w2H6IOoRHOg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,339,1580803200"; d="scan'208";a="238869565" Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.251.89.216]) ([10.251.89.216]) by orsmga007.jf.intel.com with ESMTP; 03 Apr 2020 05:21:36 -0700 To: alvinx.zhang@intel.com, dev@dpdk.org, xiaolong.ye@intel.com, haiyue.wang@intel.com, qi.z.zhang@intel.com, beilei.xing@intel.com References: <1583742247-370386-1-git-send-email-alvinx.zhang@intel.com> <1584672375-376187-1-git-send-email-alvinx.zhang@intel.com> <1584672375-376187-2-git-send-email-alvinx.zhang@intel.com> From: Ferruh Yigit Autocrypt: addr=ferruh.yigit@intel.com; prefer-encrypt=mutual; keydata= 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 cA== Message-ID: Date: Fri, 3 Apr 2020 13:21:35 +0100 MIME-Version: 1.0 In-Reply-To: <1584672375-376187-2-git-send-email-alvinx.zhang@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v2 01/14] net/igc: add igc PMD 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 3/20/2020 2:46 AM, alvinx.zhang@intel.com wrote: > From: Alvin Zhang > > Implement device detection and loading. > Add igc driver guid docs. > > Signed-off-by: Alvin Zhang > > v2: Update release note. Modify codes according to comments <...> > @@ -0,0 +1,39 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright(c) 2016 Intel Corporation. Is the copyright date '2016' correct? If so you can update it as 2016-2020. This comment is for all files. > + > +IGC Poll Mode Driver > +====================== > + > +The IGC PMD (librte_pmd_igc) provides poll mode driver support for > +Foxville I225 Series Network Adapters. Can you please provide some official links to the product? As much as possible information about device is good. <...> > @@ -56,11 +56,16 @@ New Features > Also, make sure to start the actual text at the margin. > ========================================================= > > -* **Updated Mellanox mlx5 driver.** > + * **Updated Mellanox mlx5 driver.** > > - Updated Mellanox mlx5 driver with new features and improvements, including: > + Updated Mellanox mlx5 driver with new features and improvements, including: > > - * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. > + * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. Above looks changed by mistake... > + > + * **Added a new driver for Intel Foxville I225 devices.** > + > + Added the new ``igc`` net driver for Intel Foxville I225 devices. See the > + :doc:`../nics/igc` NIC guide for more details on this new driver. > > > Removed Items > diff --git a/drivers/net/Makefile b/drivers/net/Makefile > index 4a7f155..b57841d 100644 > --- a/drivers/net/Makefile > +++ b/drivers/net/Makefile > @@ -61,6 +61,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += thunderx > DIRS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += vdev_netvsc > DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio > DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3 > +DIRS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc Can you please add it alphabetically sorted? <...> > +static int > +eth_igc_dev_init(struct rte_eth_dev *dev) > +{ > + struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev); > + > + PMD_INIT_FUNC_TRACE(); > + dev->dev_ops = ð_igc_ops; > + > + /* > + * for secondary processes, we don't initialize any further as primary > + * has already done this work. Only check we don't need a different > + * RX function. > + */ > + if (rte_eal_process_type() != RTE_PROC_PRIMARY) > + return 0; > + > + rte_eth_copy_pci_info(dev, pci_dev); This shouldn't be required, since it is done by 'rte_eth_dev_pci_generic_probe()' just before this funtion ('eth_igc_dev_init()') called. > + > + dev->data->mac_addrs = rte_zmalloc("igc", > + RTE_ETHER_ADDR_LEN, 0); > + if (dev->data->mac_addrs == NULL) { > + PMD_INIT_LOG(ERR, "Failed to allocate %d bytes needed to " > + "store MAC addresses", RTE_ETHER_ADDR_LEN); > + return -ENOMEM; > + } > + > + /* Pass the information to the rte_eth_dev_close() that it should also > + * release the private port resources. > + */ > + dev->data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE; > + > + PMD_INIT_LOG(DEBUG, "port_id %d vendorID=0x%x deviceID=0x%x", > + dev->data->port_id, pci_dev->id.vendor_id, > + pci_dev->id.device_id); > + > + return 0; > +} > + > +static int > +eth_igc_dev_uninit(__rte_unused struct rte_eth_dev *eth_dev) > +{ > + PMD_INIT_FUNC_TRACE(); > + > + if (rte_eal_process_type() != RTE_PROC_PRIMARY) > + return -EPERM; It shouldn't return error for secondary. 'rte_eth_dev_release_port()' has already process type in it, so returning '0' should work better which will cause some process specific variables cleared. <...> > @@ -0,0 +1,21 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(c) 2020 Intel Corporation > + */ > + > +#include "igc_logs.h" > +#include "rte_common.h" 'rte_common.h' should be included with '<>', #include > + > +/* declared as extern in igc_logs.h */ > +int igc_logtype_init = -1; > +int igc_logtype_driver = -1; I guess no need to set initial values for these, by default '0' will work fine for below logic. <...> > @@ -0,0 +1,3 @@ > +DPDK_20.0.1 { This release it become "DPDK_20.0.2", although it doesn't matter for the PMD at all, good to be consistent. > + local: *; > +}; > diff --git a/drivers/net/meson.build b/drivers/net/meson.build > index b0ea8fe..7d0ae3b 100644 > --- a/drivers/net/meson.build > +++ b/drivers/net/meson.build > @@ -49,6 +49,7 @@ drivers = ['af_packet', > 'vhost', > 'virtio', > 'vmxnet3', > + 'igc', Can you please add it alphabetically sorted?