[dpdk-dev] [PATCH v2 00/22] add hns3 ethernet PMD driver
Ferruh Yigit
ferruh.yigit at intel.com
Thu Sep 26 09:55:10 CEST 2019
On 9/25/2019 3:30 AM, Wei Hu (Xavier) wrote:
>
>
> On 2019/9/25 4:34, Aaron Conole wrote:
>> "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?
> Hi, Aaron Conole
>
> The patch is still in the repository now, but the commit id has been
> changed. The detail information as below:
>
> repo: http://dpdk.org/git/next/dpdk-next-net
> branch: master
>
> commit b90f5e9b44c088d0bfa77d0458f5b28045935835
> 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
>
> Change eth_dev_infos_get_t return value from void to int.
> Make eth_dev_infos_get_t implementations across all drivers to return
> negative errno values if case of error conditions.
>
> Signed-off-by: Ivan Ilchenko <ivan.ilchenko at oktetlabs.com>
> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
> Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
>
> <...>
Hi Xavier,
The recent ethdev patches affects the drivers, please double check if you driver
is based on latest next-net? If it is, you can ignore the related build warnings
for now, it will settle down.
>
> 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);
>
> Thanks for your comment.
>
> Regards
> Xavier
>
>>> 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