From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DE6DA4681E; Thu, 29 May 2025 10:18:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8E5A8427B8; Thu, 29 May 2025 10:16:27 +0200 (CEST) Received: from mail-m16.vip.163.com (mail-m16.vip.163.com [1.95.21.4]) by mails.dpdk.org (Postfix) with ESMTP id C244842708 for ; Thu, 29 May 2025 10:16:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vip.163.com; s=s110527; h=From:To:Subject:Date:Message-ID: MIME-Version; bh=kSS5a5zWpdvU1e6xY8P44yzrqG4eDBk9HBjGCVj9fIc=; b=fyMmGKJfUmSYyAbowTQng9aQ7FzL0C7KUIe0f//koYullrC00SgK+02FgSqlHu BQihdYr3NRb3eh9GQqgnXa2d4XKuGyB+ihnXafqWvOHPcxL/vjbDRWyU6QdDTFiW fODBtlhGoG+aGwD0UkPWbnhqOjwBMC6m4VQ1lyyvo5R1U= Received: from localhost.localdomain (unknown [114.116.198.59]) by gzsmtp1 (Coremail) with SMTP id Ac8vCgBnrqG7FzhofozTAQ--.8522S22; Thu, 29 May 2025 16:16:16 +0800 (CST) From: Feifei To: dev@dpdk.org Cc: Yi Chen , Xin Wang , Feifei Wang Subject: [PATCH v1 18/18] drivers/net: add hinic3 PMD build and doc files Date: Thu, 29 May 2025 16:15:17 +0800 Message-ID: <20250529081529.2839-19-wff_light@vip.163.com> X-Mailer: git-send-email 2.47.0.windows.2 In-Reply-To: <20250418090621.9638-19-wff_light@vip.163.com> References: <20250418090621.9638-19-wff_light@vip.163.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: Ac8vCgBnrqG7FzhofozTAQ--.8522S22 X-Coremail-Antispam: 1Uf129KBjvJXoW3WFy3AFWDXFyUJF45Gw1UAwb_yoW7GFW3pa 1UGayS9rW8Xr48t3Z5AryxAFWFvw1UKFyjkw1aka4rZryDAFy5AayUKFWYkF9Fqr1jyFyf ZFn8C393KF1rtw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jnEfOUUUUU= X-Originating-IP: [114.116.198.59] X-CM-SenderInfo: pziiszhljk3qxylshiywtou0bp/1tbiHwpcCmg33Xb0iQAAsK X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Yi Chen The meson.build file is added to this patch to enable the hinic3 compilation function. Signed-off-by: Yi Chen Reviewed-by: Xin Wang Reviewed-by: Feifei Wang --- doc/guides/nics/features/hinic3.ini | 9 ++++++ drivers/net/hinic3/base/meson.build | 50 +++++++++++++++++++++++++++++ drivers/net/hinic3/meson.build | 33 +++++++++++++++++++ drivers/net/hinic3/mml/meson.build | 33 +++++-------------- drivers/net/meson.build | 1 + 5 files changed, 101 insertions(+), 25 deletions(-) create mode 100644 doc/guides/nics/features/hinic3.ini create mode 100644 drivers/net/hinic3/base/meson.build create mode 100644 drivers/net/hinic3/meson.build diff --git a/doc/guides/nics/features/hinic3.ini b/doc/guides/nics/features/hinic3.ini new file mode 100644 index 0000000000..8bafd49090 --- /dev/null +++ b/doc/guides/nics/features/hinic3.ini @@ -0,0 +1,9 @@ +; +; Supported features of the 'hinic3' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Linux = Y +x86-64 = Y +ARMv8 = Y diff --git a/drivers/net/hinic3/base/meson.build b/drivers/net/hinic3/base/meson.build new file mode 100644 index 0000000000..b6a3a6cfe7 --- /dev/null +++ b/drivers/net/hinic3/base/meson.build @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2025 Huawei Technologies Co., Ltd + +sources = files( + 'hinic3_cmdq.c', + 'hinic3_eqs.c', + 'hinic3_hw_cfg.c', + 'hinic3_hw_comm.c', + 'hinic3_hwdev.c', + 'hinic3_hwif.c', + 'hinic3_mbox.c', + 'hinic3_mgmt.c', + 'hinic3_nic_cfg.c', + 'hinic3_nic_event.c', + 'hinic3_wq.c', +) + +extra_flags = [] + +# The driver runs only on arch64 machine, remove 32bit warnings +if not dpdk_conf.get('RTE_ARCH_64') + extra_flags += [ + '-Wno-int-to-pointer-cast', + '-Wno-pointer-to-int-cast', + ] +endif + +foreach flag: extra_flags + if cc.has_argument(flag) + cflags += flag + endif +endforeach + +deps += ['hash'] +c_args = cflags +includes += include_directories('../') + +base_lib = static_library( + 'spnic_base', + sources, + dependencies: [ + static_rte_eal, + static_rte_ethdev, + static_rte_bus_pci, + static_rte_hash, + ], + include_directories: includes, + c_args: c_args, +) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/hinic3/meson.build b/drivers/net/hinic3/meson.build new file mode 100644 index 0000000000..42fb5bc194 --- /dev/null +++ b/drivers/net/hinic3/meson.build @@ -0,0 +1,33 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2025 Huawei Technologies Co., Ltd + +if not is_linux + build = false + reason = 'only supported on Linux' + subdir_done() +endif + +if (arch_subdir != 'x86' and arch_subdir != 'arm' + or not dpdk_conf.get('RTE_ARCH_64')) + build = false + reason = 'only supported on x86_64 and aarch64' + subdir_done() +endif + +cflags += ['-DHW_CONVERT_ENDIAN'] + +subdir('base') +subdir('mml') +objs = [base_objs] + [mml_objs] + +sources = files( + 'hinic3_ethdev.c', + 'hinic3_fdir.c', + 'hinic3_flow.c', + 'hinic3_nic_io.c', + 'hinic3_rx.c', + 'hinic3_tx.c', +) + +includes += include_directories('base') +includes += include_directories('mml') diff --git a/drivers/net/hinic3/mml/meson.build b/drivers/net/hinic3/mml/meson.build index f8d2650d8d..67bba4f067 100644 --- a/drivers/net/hinic3/mml/meson.build +++ b/drivers/net/hinic3/mml/meson.build @@ -2,36 +2,19 @@ # Copyright(c) 2025 Huawei Technologies Co., Ltd sources = files( - 'hinic3_dbg.c', - 'hinic3_mml_cmd.c', - 'hinic3_mml_ioctl.c', - 'hinic3_mml_lib.c', - 'hinic3_mml_main.c', - 'hinic3_mml_queue.c', + 'hinic3_dbg.c', + 'hinic3_mml_cmd.c', + 'hinic3_mml_ioctl.c', + 'hinic3_mml_lib.c', + 'hinic3_mml_main.c', + 'hinic3_mml_queue.c', ) -extra_flags = [ - '-Wno-cast-qual', - '-Wno-format', - '-Wno-format-nonliteral', - '-Wno-format-security', - '-Wno-missing-braces', - '-Wno-missing-field-initializers', - '-Wno-missing-prototypes', - '-Wno-pointer-sign', - '-Wno-pointer-to-int-cast', - '-Wno-sign-compare', - '-Wno-strict-aliasing', - '-Wno-unused-parameter', - '-Wno-unused-value', - '-Wno-unused-variable', -] - # The driver runs only on arch64 machine, remove 32bit warnings if not dpdk_conf.get('RTE_ARCH_64') extra_flags += [ - '-Wno-int-to-pointer-cast', - '-Wno-pointer-to-int-cast', + '-Wno-int-to-pointer-cast', + '-Wno-pointer-to-int-cast', ] endif diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 460eb69e5b..b5442349d4 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -23,6 +23,7 @@ drivers = [ 'failsafe', 'gve', 'hinic', + 'hinic3', 'hns3', 'intel/e1000', 'intel/fm10k', -- 2.47.0.windows.2