DPDK patches and discussions
 help / color / mirror / Atom feed
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.

  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).