From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id F204B5B40 for ; Wed, 3 Oct 2018 20:48:23 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Oct 2018 11:48:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,336,1534834800"; d="scan'208";a="79619752" Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.49]) ([10.237.221.49]) by orsmga006.jf.intel.com with ESMTP; 03 Oct 2018 11:48:21 -0700 To: Igor Russkikh , dev@dpdk.org Cc: pavel.belous@aquantia.com References: From: Ferruh Yigit Openpgp: preference=signencrypt Message-ID: <714d87a0-f280-45e4-97b7-69f885c47c32@intel.com> Date: Wed, 3 Oct 2018 19:48:21 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v3 01/22] net/atlantic: atlantic PMD driver skeleton 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: , X-List-Received-Date: Wed, 03 Oct 2018 18:48:24 -0000 On 9/29/2018 11:30 AM, Igor Russkikh wrote: > From: Pavel Belous > > Makefile/meson build infrastructure, atl_ethdev minimal skeleton, > header with aquantia aQtion NIC device and vendor IDs. > > Signed-off-by: Igor Russkikh > Signed-off-by: Pavel Belous > --- > config/common_base | 5 + > drivers/net/Makefile | 1 + > drivers/net/atlantic/Makefile | 27 ++++ > drivers/net/atlantic/atl_common.h | 96 ++++++++++++++ > drivers/net/atlantic/atl_ethdev.c | 145 ++++++++++++++++++++++ > drivers/net/atlantic/atl_ethdev.h | 15 +++ > drivers/net/atlantic/meson.build | 10 ++ > drivers/net/atlantic/rte_pmd_atlantic_version.map | 4 + > drivers/net/meson.build | 1 + > mk/rte.app.mk | 1 + > 10 files changed, 305 insertions(+) > create mode 100644 drivers/net/atlantic/Makefile > create mode 100644 drivers/net/atlantic/atl_common.h > create mode 100644 drivers/net/atlantic/atl_ethdev.c > create mode 100644 drivers/net/atlantic/atl_ethdev.h > create mode 100644 drivers/net/atlantic/meson.build > create mode 100644 drivers/net/atlantic/rte_pmd_atlantic_version.map > > diff --git a/config/common_base b/config/common_base > index 155c7d40ea31..ba51ffbd43ce 100644 > --- a/config/common_base > +++ b/config/common_base > @@ -635,6 +635,11 @@ CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n > CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n > > # > +# Compile Aquantia Atlantic PMD driver > +# > +CONFIG_RTE_LIBRTE_ATLANTIC_PMD=y Just to check, default enable in "common_base" means PMD supports all architectures (x86_64, i686, arm, ppc) and both Linux and FreeBSD. If this is not the case, please disable in common_base and enable in whatever supported. <...> > +int atl_logtype_init; > +int atl_logtype_driver; These are not yet used in this PMD, please add when used. <...> > +static struct rte_pci_driver rte_atl_pmd = { > + .id_table = pci_id_atl_map, > + .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_INTR_LSC is way of saying LSC interrupts are supported, please add the flag when driver supports it. > + RTE_PCI_DRV_IOVA_AS_VA, > + .probe = eth_atl_pci_probe, > + .remove = eth_atl_pci_remove, > +}; > + > +static const struct eth_dev_ops atl_eth_dev_ops = { > + .dev_configure = atl_dev_configure, > + .dev_start = atl_dev_start, > + .dev_stop = atl_dev_stop, > + .dev_close = atl_dev_close, > + .dev_reset = atl_dev_reset, I am not sure but it may fail to run without .dev_infos_get, can you please check. <...> > +static int > +atl_dev_reset(struct rte_eth_dev *dev) > +{ > + int ret; > + > + ret = eth_atl_dev_uninit(dev); > + if (ret) > + return ret; > + > + ret = eth_atl_dev_init(dev); > + > + return ret; > +} Up to you, but dev_reset may be left out from initial skeleton patch and moved into later patches. <...> > @@ -0,0 +1,15 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(c) 2018 Aquantia Corporation > + */ > + > +#ifndef _ATLANTIC_ETHDEV_H_ > +#define _ATLANTIC_ETHDEV_H_ > +#include Why include "rte_tm_driver.h" at this stage? <...> > @@ -0,0 +1,10 @@ > +# SPDX-License-Identifier: BSD-3-Clause > +# Copyright(c) 2018 Aquantia Corporation > + > +sources = files( > + 'atl_ethdev.c', > +) > + > +deps += ['eal'] Makefile has more dependency, although I am not sure what to provide in meson, just can you please double check if this mismatch is ok? > + > +allow_experimental_apis = true Do you need this, at least at this stage? <...> > @@ -157,6 +157,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 -ldl -lmnl > else > _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 -libverbs -lmlx5 -lmnl > endif > +_LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += -lrte_pmd_atlantic Add in alphabetical order please.