[dpdk-dev] [PATCH v2 00/22] add hns3 ethernet PMD driver

Aaron Conole aconole at redhat.com
Tue Sep 24 22:34:34 CEST 2019


"Wei Hu (Xavier)" <xavier.huwei at huawei.com> writes:

> Hi, Ferruh Yigit
>
> I sent out patch V2 yesterday.  And I found that the following page
> indicates that there is a compilation error.
>
>     http://mails.dpdk.org/archives/test-report/2019-September/098385.html
>
> The relevant sections in the log:
>
> <...>
>
> *Meson Build Failed #1: OS: FC30-64 Target:build-gcc-static FAILED:
> drivers/a715181@@tmp_rte_pmd_hns3 at sta
> <https://mails.dpdk.org/listinfo/test-report>/net_hns3_hns3_ethdev_vf.c.o
>
> <...>
>
> ../drivers/net/hns3/hns3_ethdev_vf.c:1552:24: error: initialization of
> ‘void (*)(struct rte_eth_dev *, struct rte_eth_dev_info *)’ from
> incompatible pointer type ‘int (*)(struct rte_eth_dev *, struct
> rte_eth_dev_info *)’ [-Werror=incompatible-pointer-types] 1552 |
> .dev_infos_get = hns3vf_dev_infos_get, | ^~~~~~~~~~~~~~~~~~~~
> ../drivers/net/hns3/hns3_ethdev_vf.c:1552:24: note: (near initialization
> for ‘hns3vf_eth_dev_ops.dev_infos_get’) cc1: all warnings being treated
> as errors
>
> <...>
>
> But I found that perhaps the reason for this compilation error is that
> the following patch was not built on CI,
>
> and it had been in the latest branch of the repository:
> http://dpdk.org/git/next/dpdk-next-net

The patch you reference is still not present.  I guess perhaps it might
have been clobbered in a rebase?

> The information of the relevant patch as below:
>
> commit 84c4620318b642aea9b5388aa7fbc79a4fe6f29e
> Author: Ivan Ilchenko <ivan.ilchenko at oktetlabs.com>
> Date:   Thu Sep 12 17:42:28 2019 +0100
>
>     ethdev: change device info get callback to return int
>
> diff --git a/lib/librte_ethdev/rte_ethdev_core.h
> b/lib/librte_ethdev/rte_ethdev_core.h
> index 2922d5b..2394b32 100644
> --- a/lib/librte_ethdev/rte_ethdev_core.h
> +++ b/lib/librte_ethdev/rte_ethdev_core.h
> @@ -103,8 +103,8 @@ typedef int (*eth_queue_stats_mapping_set_t)(struct
> rte_eth_dev *dev,
>                                              uint8_t is_rx);
>  /**< @internal Set a queue statistics mapping for a tx/rx queue of an
> Ethernet device. */
>
> -typedef void (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
> -                               struct rte_eth_dev_info *dev_info);
> +typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
> +                            struct rte_eth_dev_info *dev_info);
>  /**< @internal Get specific information of an Ethernet device. */
>
>
>     Regards
> Xavier
>
> On 2019/9/20 21:25, Wei Hu (Xavier) wrote:
>> The Hisilicon Network Subsystem is a long term evolution IP which is
>> supposed to be used in Hisilicon ICT SoCs such as Kunpeng 920.
>>
>> This series add DPDK rte_ethdev poll mode driver for Hisilicon
>> Network Subsystem 3(hns3) network engine.
>>
>> Wei Hu (Xavier) (22):
>>   net/hns3: add hns3 build and doc infrastructure
>>   net/hns3: add hardware registers definition
>>   net/hns3: add some definitions for data structure and macro
>>   net/hns3: register hns3 PMD driver and add the log interface
>>     definition
>>   net/hns3: add support for cmd of hns3 PMD driver
>>   net/hns3: add the initialization of hns3 PMD driver
>>   net/hns3: add support for MAC address related operations
>>   net/hns3: add support for some misc operations
>>   net/hns3: add support for link_update operation
>>   net/hns3: add support for flow directory of hns3 PMD driver
>>   net/hns3: add support for RSS of hns3 PMD driver
>>   net/hns3: add support for flow control of hns3 PMD driver
>>   net/hns3: add support for vlan of hns3 PMD driver
>>   net/hns3: add support for mailbox of hns3 PMD driver
>>   net/hns3: add support for hns3 VF PMD driver
>>   net/hns3: add RX/TX package burst and queue related operation
>>   net/hns3: add start stop configure promiscuous ops
>>   net/hns3: add dump register ops for hns3 PMD driver
>>   net/hns3: add abnormal interrupt process for hns3 PMD driver
>>   net/hns3: add stats related ops for hns3 PMD driver
>>   net/hns3: add reset related process for hns3 PMD driver
>>   net/hns3: add multiple process support for hns3 PMD driver
>>
>>  MAINTAINERS                                  |    8 +
>>  config/common_base                           |    5 +
>>  config/common_linux                          |    5 +
>>  config/defconfig_arm-armv7a-linuxapp-gcc     |    1 +
>>  config/defconfig_i686-native-linuxapp-gcc    |    5 +
>>  config/defconfig_i686-native-linuxapp-icc    |    5 +
>>  config/defconfig_ppc_64-power8-linuxapp-gcc  |    1 +
>>  config/defconfig_x86_64-native-linuxapp-icc  |    5 +
>>  config/defconfig_x86_x32-native-linuxapp-gcc |    5 +
>>  doc/guides/nics/features/hns3.ini            |   34 +
>>  doc/guides/nics/features/hns3_vf.ini         |   29 +
>>  doc/guides/nics/hns3.rst                     |   60 +
>>  doc/guides/nics/index.rst                    |    1 +
>>  doc/guides/rel_notes/release_19_11.rst       |    5 +
>>  drivers/net/Makefile                         |    1 +
>>  drivers/net/hns3/Makefile                    |   45 +
>>  drivers/net/hns3/hns3_cmd.c                  |  565 +++
>>  drivers/net/hns3/hns3_cmd.h                  |  761 ++++
>>  drivers/net/hns3/hns3_dcb.c                  | 1642 +++++++++
>>  drivers/net/hns3/hns3_dcb.h                  |  166 +
>>  drivers/net/hns3/hns3_ethdev.c               | 4939 ++++++++++++++++++++++++++
>>  drivers/net/hns3/hns3_ethdev.h               |  645 ++++
>>  drivers/net/hns3/hns3_ethdev_vf.c            | 1735 +++++++++
>>  drivers/net/hns3/hns3_fdir.c                 | 1059 ++++++
>>  drivers/net/hns3/hns3_fdir.h                 |  205 ++
>>  drivers/net/hns3/hns3_flow.c                 | 1903 ++++++++++
>>  drivers/net/hns3/hns3_intr.c                 | 1166 ++++++
>>  drivers/net/hns3/hns3_intr.h                 |   79 +
>>  drivers/net/hns3/hns3_logs.h                 |   34 +
>>  drivers/net/hns3/hns3_mbx.c                  |  353 ++
>>  drivers/net/hns3/hns3_mbx.h                  |  136 +
>>  drivers/net/hns3/hns3_mp.c                   |  214 ++
>>  drivers/net/hns3/hns3_mp.h                   |   14 +
>>  drivers/net/hns3/hns3_regs.c                 |  368 ++
>>  drivers/net/hns3/hns3_regs.h                 |   99 +
>>  drivers/net/hns3/hns3_rss.c                  |  584 +++
>>  drivers/net/hns3/hns3_rss.h                  |  124 +
>>  drivers/net/hns3/hns3_rxtx.c                 | 1676 +++++++++
>>  drivers/net/hns3/hns3_rxtx.h                 |  317 ++
>>  drivers/net/hns3/hns3_stats.c                |  971 +++++
>>  drivers/net/hns3/hns3_stats.h                |  152 +
>>  drivers/net/hns3/meson.build                 |   37 +
>>  drivers/net/hns3/rte_pmd_hns3_version.map    |    3 +
>>  drivers/net/meson.build                      |    1 +
>>  mk/rte.app.mk                                |    1 +
>>  45 files changed, 20164 insertions(+)
>>  create mode 100644 doc/guides/nics/features/hns3.ini
>>  create mode 100644 doc/guides/nics/features/hns3_vf.ini
>>  create mode 100644 doc/guides/nics/hns3.rst
>>  create mode 100644 drivers/net/hns3/Makefile
>>  create mode 100644 drivers/net/hns3/hns3_cmd.c
>>  create mode 100644 drivers/net/hns3/hns3_cmd.h
>>  create mode 100644 drivers/net/hns3/hns3_dcb.c
>>  create mode 100644 drivers/net/hns3/hns3_dcb.h
>>  create mode 100644 drivers/net/hns3/hns3_ethdev.c
>>  create mode 100644 drivers/net/hns3/hns3_ethdev.h
>>  create mode 100644 drivers/net/hns3/hns3_ethdev_vf.c
>>  create mode 100644 drivers/net/hns3/hns3_fdir.c
>>  create mode 100644 drivers/net/hns3/hns3_fdir.h
>>  create mode 100644 drivers/net/hns3/hns3_flow.c
>>  create mode 100644 drivers/net/hns3/hns3_intr.c
>>  create mode 100644 drivers/net/hns3/hns3_intr.h
>>  create mode 100644 drivers/net/hns3/hns3_logs.h
>>  create mode 100644 drivers/net/hns3/hns3_mbx.c
>>  create mode 100644 drivers/net/hns3/hns3_mbx.h
>>  create mode 100644 drivers/net/hns3/hns3_mp.c
>>  create mode 100644 drivers/net/hns3/hns3_mp.h
>>  create mode 100644 drivers/net/hns3/hns3_regs.c
>>  create mode 100644 drivers/net/hns3/hns3_regs.h
>>  create mode 100644 drivers/net/hns3/hns3_rss.c
>>  create mode 100644 drivers/net/hns3/hns3_rss.h
>>  create mode 100644 drivers/net/hns3/hns3_rxtx.c
>>  create mode 100644 drivers/net/hns3/hns3_rxtx.h
>>  create mode 100644 drivers/net/hns3/hns3_stats.c
>>  create mode 100644 drivers/net/hns3/hns3_stats.h
>>  create mode 100644 drivers/net/hns3/meson.build
>>  create mode 100644 drivers/net/hns3/rte_pmd_hns3_version.map
>>


More information about the dev mailing list