From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Igor Russkikh <igor.russkikh@aquantia.com>, dev@dpdk.org
Cc: pavel.belous@aquantia.com
Subject: Re: [dpdk-dev] [PATCH v3 01/22] net/atlantic: atlantic PMD driver skeleton
Date: Wed, 3 Oct 2018 19:48:21 +0100 [thread overview]
Message-ID: <714d87a0-f280-45e4-97b7-69f885c47c32@intel.com> (raw)
In-Reply-To: <cbfd3330a282ba846733aa8e74f56f2e6997b65e.1538215990.git.igor.russkikh@aquantia.com>
On 9/29/2018 11:30 AM, Igor Russkikh wrote:
> From: Pavel Belous <Pavel.Belous@aquantia.com>
>
> Makefile/meson build infrastructure, atl_ethdev minimal skeleton,
> header with aquantia aQtion NIC device and vendor IDs.
>
> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
> Signed-off-by: Pavel Belous <Pavel.Belous@aquantia.com>
> ---
> 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 <rte_tm_driver.h>
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.
next prev parent reply other threads:[~2018-10-03 18:48 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-29 10:30 [dpdk-dev] [PATCH v3 00/22] net/atlantic: Aquantia aQtion 10G NIC Family DPDK PMD driver Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 01/22] net/atlantic: atlantic PMD driver skeleton Igor Russkikh
2018-10-03 18:48 ` Ferruh Yigit [this message]
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 02/22] net/atlantic: logging macroes and some typedefs Igor Russkikh
2018-10-03 18:49 ` Ferruh Yigit
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 03/22] net/atlantic: hardware register access routines Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 04/22] net/atlantic: hw_atl register declarations Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 05/22] net/atlantic: firmware operations layer Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 06/22] net/atlantic: b0 hardware layer main logic Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 07/22] net/atlantic: rte device start, stop, initial configuration Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 08/22] net/atlantic: TX/RX function prototypes Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 09/22] net/atlantic: RX side structures and implementation Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 10/22] net/atlantic: TX " Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 11/22] net/atlantic: link status and interrupt management Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 12/22] net/atlantic: device statistics, xstats Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 13/22] net/atlantic: support for RX/TX descriptors information Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 14/22] net/atlantic: promisc and allmulti configuration Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 15/22] net/atlantic: RSS and RETA manipulation API Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 16/22] net/atlantic: flow control configuration Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 17/22] net/atlantic: MAC address manipulations Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 18/22] net/atlantic: VLAN filters and offloads Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 19/22] net/atlantic: eeprom and register manipulation routines Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 20/22] net/atlantic: LED control DPDK and private APIs Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 21/22] net/atlantic: support for read MAC registers for debug purposes Igor Russkikh
2018-09-29 10:30 ` [dpdk-dev] [PATCH v3 22/22] net/atlantic: documentation and rel notes Igor Russkikh
2018-10-03 18:47 ` [dpdk-dev] [PATCH v3 00/22] net/atlantic: Aquantia aQtion 10G NIC Family DPDK PMD driver Ferruh Yigit
2018-10-04 9:42 ` Igor Russkikh
2018-10-04 10:29 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=714d87a0-f280-45e4-97b7-69f885c47c32@intel.com \
--to=ferruh.yigit@intel.com \
--cc=dev@dpdk.org \
--cc=igor.russkikh@aquantia.com \
--cc=pavel.belous@aquantia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).