DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v2 00/11] A new net PMD - hinic
@ 2019-05-29  3:45 Ziyang Xuan
  2019-05-29  3:46 ` [dpdk-dev] [PATCH v2 01/11] net/hinic/base: add registers for Huawei Hi1822 NIC Ziyang Xuan
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Ziyang Xuan @ 2019-05-29  3:45 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, cloud.wangxiaoyun, zhouguoyang, shahar.belkar,
	luoxianjun, Ziyang Xuan

This patch set adds support of a new net PMD
for Huawei Intelligent nic. This patch provides supoort
for basic RX/TX and the contorl path needed for it.
Later on new features will be added like VLAN, VFs, etc.

Basic features:
1. Basic device operations: probe, initialization, start/stop,
   configure, info get.
2. RX/TX queue operations: setup/release, start/stop.
3. RX/TX.

Stats:
1. statistics and extended  statistics.

---
v2:
 - Fix arm64 compilation issue.
 - Fix some checkpatch checks issues
 - Fix patches thread issue.
 - Fit to the newest rte_ prefix patch

Ziyang Xuan (11):
  net/hinic/base: add registers for Huawei Hi1822 NIC
  net/hinic/base: add command channels code
  net/hinic/base: add mgmt module interactive code
  net/hinic/base: add code about hardware operation
  net/hinic/base: add eqs and context code
  net/hinic/base: add code for nic business
  net/hinic/base: add various headers
  net/hinic: add hinic PMD build and doc files
  net/hinic: add RX module
  net/hinic: add TX module
  net/hinic: add support for basic device operations

 MAINTAINERS                                   |    9 +
 config/common_base                            |    5 +
 doc/guides/nics/features/hinic.ini            |   32 +
 doc/guides/nics/hinic.rst                     |   49 +
 drivers/net/Makefile                          |    1 +
 drivers/net/hinic/Makefile                    |   94 +
 drivers/net/hinic/base/hinic_compat.h         |  252 ++
 drivers/net/hinic/base/hinic_csr.h            |  164 ++
 drivers/net/hinic/base/hinic_ctx_def.h        |  195 ++
 drivers/net/hinic/base/hinic_logs.c           |   16 +
 drivers/net/hinic/base/hinic_logs.h           |   31 +
 drivers/net/hinic/base/hinic_pmd_api_cmd.c    | 1040 ++++++++
 drivers/net/hinic/base/hinic_pmd_api_cmd.h    |  271 +++
 drivers/net/hinic/base/hinic_pmd_cfg.c        |  269 ++
 drivers/net/hinic/base/hinic_pmd_cfg.h        |  264 ++
 drivers/net/hinic/base/hinic_pmd_cmdq.c       |  902 +++++++
 drivers/net/hinic/base/hinic_pmd_cmdq.h       |  190 ++
 drivers/net/hinic/base/hinic_pmd_dpdev.h      |  149 ++
 drivers/net/hinic/base/hinic_pmd_eqs.c        |  725 ++++++
 drivers/net/hinic/base/hinic_pmd_eqs.h        |   94 +
 drivers/net/hinic/base/hinic_pmd_hw.h         |   49 +
 drivers/net/hinic/base/hinic_pmd_hw_mgmt.h    |   85 +
 drivers/net/hinic/base/hinic_pmd_hwdev.c      | 1544 ++++++++++++
 drivers/net/hinic/base/hinic_pmd_hwdev.h      |  207 ++
 drivers/net/hinic/base/hinic_pmd_hwif.c       |  542 +++++
 drivers/net/hinic/base/hinic_pmd_hwif.h       |   90 +
 drivers/net/hinic/base/hinic_pmd_mgmt.c       |  619 +++++
 drivers/net/hinic/base/hinic_pmd_mgmt.h       |  125 +
 .../net/hinic/base/hinic_pmd_mgmt_interface.h |  503 ++++
 drivers/net/hinic/base/hinic_pmd_nic.h        |   85 +
 drivers/net/hinic/base/hinic_pmd_niccfg.c     | 1408 +++++++++++
 drivers/net/hinic/base/hinic_pmd_niccfg.h     |  333 +++
 drivers/net/hinic/base/hinic_pmd_nicio.c      |  920 +++++++
 drivers/net/hinic/base/hinic_pmd_nicio.h      |   53 +
 drivers/net/hinic/base/hinic_pmd_qp.c         |   26 +
 drivers/net/hinic/base/hinic_pmd_qp.h         |   76 +
 drivers/net/hinic/base/hinic_pmd_wq.c         |  164 ++
 drivers/net/hinic/base/hinic_pmd_wq.h         |   52 +
 drivers/net/hinic/base/hinic_port_cmd.h       |  494 ++++
 drivers/net/hinic/base/hinic_qe_def.h         |  461 ++++
 drivers/net/hinic/base/meson.build            |   63 +
 drivers/net/hinic/hinic_pmd_dpdev.c           |  718 ++++++
 drivers/net/hinic/hinic_pmd_ethdev.c          | 2157 +++++++++++++++++
 drivers/net/hinic/hinic_pmd_ethdev.h          |  106 +
 drivers/net/hinic/hinic_pmd_rx.c              |  919 +++++++
 drivers/net/hinic/hinic_pmd_rx.h              |  135 ++
 drivers/net/hinic/hinic_pmd_tx.c              | 1070 ++++++++
 drivers/net/hinic/hinic_pmd_tx.h              |   97 +
 drivers/net/hinic/meson.build                 |   18 +
 drivers/net/hinic/rte_pmd_hinic_version.map   |    4 +
 mk/rte.app.mk                                 |    1 +
 51 files changed, 17876 insertions(+)
 create mode 100644 doc/guides/nics/features/hinic.ini
 create mode 100644 doc/guides/nics/hinic.rst
 create mode 100644 drivers/net/hinic/Makefile
 create mode 100644 drivers/net/hinic/base/hinic_compat.h
 create mode 100644 drivers/net/hinic/base/hinic_csr.h
 create mode 100644 drivers/net/hinic/base/hinic_ctx_def.h
 create mode 100644 drivers/net/hinic/base/hinic_logs.c
 create mode 100644 drivers/net/hinic/base/hinic_logs.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_api_cmd.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_api_cmd.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cfg.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cfg.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cmdq.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cmdq.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_dpdev.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_eqs.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_eqs.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hw.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hw_mgmt.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwdev.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwdev.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwif.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwif.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_mgmt.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_mgmt.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_mgmt_interface.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_nic.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_niccfg.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_niccfg.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_nicio.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_nicio.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_qp.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_qp.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_wq.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_wq.h
 create mode 100644 drivers/net/hinic/base/hinic_port_cmd.h
 create mode 100644 drivers/net/hinic/base/hinic_qe_def.h
 create mode 100644 drivers/net/hinic/base/meson.build
 create mode 100644 drivers/net/hinic/hinic_pmd_dpdev.c
 create mode 100644 drivers/net/hinic/hinic_pmd_ethdev.c
 create mode 100644 drivers/net/hinic/hinic_pmd_ethdev.h
 create mode 100644 drivers/net/hinic/hinic_pmd_rx.c
 create mode 100644 drivers/net/hinic/hinic_pmd_rx.h
 create mode 100644 drivers/net/hinic/hinic_pmd_tx.c
 create mode 100644 drivers/net/hinic/hinic_pmd_tx.h
 create mode 100644 drivers/net/hinic/meson.build
 create mode 100644 drivers/net/hinic/rte_pmd_hinic_version.map

-- 
2.18.0


^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: [dpdk-dev] [PATCH v2 08/11] net/hinic: add hinic PMD build and doc files
@ 2019-05-30  1:54 Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions)
  0 siblings, 0 replies; 14+ messages in thread
From: Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions) @ 2019-05-30  1:54 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: dev, ferruh.yigit, Wangxiaoyun (Cloud,
	Network Chip Application Development Dept),
	zhouguoyang, Shahar Belkar, Luoxianjun

Hi Stephen,

Thank you for your comments. We will fix your comments at the next patches.

Thanks,
Ziyang Xuan

-----邮件原件-----
发件人: Stephen Hemminger [mailto:stephen@networkplumber.org] 
发送时间: 2019年5月29日 12:59
收件人: Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions) <xuanziyang2@huawei.com>
抄送: dev@dpdk.org; ferruh.yigit@intel.com; Wangxiaoyun (Cloud, Network Chip Application Development Dept) <cloud.wangxiaoyun@huawei.com>; zhouguoyang <zhouguoyang@huawei.com>; Shahar Belkar <shahar.belkar@huawei.com>; Luoxianjun <luoxianjun@huawei.com>
主题: Re: [dpdk-dev] [PATCH v2 08/11] net/hinic: add hinic PMD build and doc files

On Wed, 29 May 2019 11:50:36 +0800
Ziyang Xuan <xuanziyang2@huawei.com> wrote:

> +Huawei hinic
> +M: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
> +M: Ziyang Xuan <xuanziyang2@huawei.com>
> +M: Guoyang Zhou <zhouguoyang@huawei.com>
> +M: Rami Rosen <rami.rosen@huawei.com>

You should remove Rami, he will be missed.

> diff --git a/drivers/net/hinic/base/hinic_logs.c 
> b/drivers/net/hinic/base/hinic_logs.c
> new file mode 100644
> index 000000000..1e9b5ad92
> --- /dev/null
> +++ b/drivers/net/hinic/base/hinic_logs.c
> @@ -0,0 +1,16 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2017 Huawei Technologies Co., Ltd  */
> +
> +
> +#include "hinic_logs.h"
> +
> +int hinic_logtype;
> +
> +RTE_INIT(hinic_init_log)
> +{
> +	hinic_logtype = rte_log_register("pmd.net.hinic");
> +	if (hinic_logtype >= 0)
> +		rte_log_set_level(hinic_logtype, RTE_LOG_INFO); }
> +

You could just put this in some other file


> diff --git a/drivers/net/hinic/base/hinic_logs.h 
> b/drivers/net/hinic/base/hinic_logs.h
> new file mode 100644
> index 000000000..ed84a37a6
> --- /dev/null
> +++ b/drivers/net/hinic/base/hinic_logs.h
> @@ -0,0 +1,31 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2017 Huawei Technologies Co., Ltd  */
> +
> +#ifndef _HINIC_LOGS_H_
> +#define _HINIC_LOGS_H_
> +
> +#ifdef __cplusplus
> +#if __cplusplus
> +extern "C"{
> +#endif
> +#endif /* __cplusplus */
> +#include <rte_log.h>

Why all the C++ guards, this is a private file.

> +error_cflags = ['-Wno-unused-value',
> +		'-Wno-unused-but-set-variable',
> +		'-Wno-unused-variable',
> +]

Please fix these errors instead of masking them

> +/**
> + * Atomically writes the link status information into global
> + * struct rte_eth_dev.
> + */
> +int hinic_dev_atomic_write_link_status(struct rte_eth_dev *dev,
> +				       struct rte_eth_link *link) {
> +	struct rte_eth_link *dst = &dev->data->dev_link;
> +	struct rte_eth_link *src = link;
> +
> +	if (rte_atomic64_cmpset((uint64_t *)dst, *(uint64_t *)dst,
> +	    *(uint64_t *)src) == 0)
> +		return HINIC_ERROR;
> +
> +	return HINIC_OK;
> +}

There already is code in rte_ethdev in current versions of DPDK to do this.



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-05-30  1:54 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-29  3:45 [dpdk-dev] [PATCH v2 00/11] A new net PMD - hinic Ziyang Xuan
2019-05-29  3:46 ` [dpdk-dev] [PATCH v2 01/11] net/hinic/base: add registers for Huawei Hi1822 NIC Ziyang Xuan
2019-05-29  3:48 ` [dpdk-dev] [PATCH v2 02/11] net/hinic/base: add command channels code Ziyang Xuan
2019-05-29  3:49 ` [dpdk-dev] [PATCH v2 03/11] net/hinic/base: add mgmt module interactive code Ziyang Xuan
2019-05-29  3:49 ` [dpdk-dev] [PATCH v2 04/11] net/hinic/base: add code about hardware operation Ziyang Xuan
2019-05-29  3:49 ` [dpdk-dev] [PATCH v2 05/11] net/hinic/base: add eqs and context code Ziyang Xuan
2019-05-29  3:50 ` [dpdk-dev] [PATCH v2 06/11] net/hinic/base: add code for nic business Ziyang Xuan
2019-05-29  3:50 ` [dpdk-dev] [PATCH v2 07/11] net/hinic/base: add various headers Ziyang Xuan
2019-05-29  3:50 ` [dpdk-dev] [PATCH v2 08/11] net/hinic: add hinic PMD build and doc files Ziyang Xuan
2019-05-29  4:59   ` Stephen Hemminger
2019-05-29  3:50 ` [dpdk-dev] [PATCH v2 09/11] net/hinic: add RX module Ziyang Xuan
2019-05-29  3:51 ` [dpdk-dev] [PATCH v2 10/11] net/hinic: add TX module Ziyang Xuan
2019-05-29  3:51 ` [dpdk-dev] [PATCH v2 11/11] net/hinic: add support for basic device operations Ziyang Xuan
2019-05-30  1:54 [dpdk-dev] [PATCH v2 08/11] net/hinic: add hinic PMD build and doc files Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions)

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