|
|
Subscribe / Log in / New account

net: hinic3: Add a driver for Huawei 3rd gen NIC - PF initialization

From:  Fan Gong <gongfan1-AT-huawei.com>
To:  Fan Gong <gongfan1-AT-huawei.com>, Zhu Yikai <zhuyikai1-AT-h-partners.com>
Subject:  [PATCH net-next v01 0/9] net: hinic3: Add a driver for Huawei 3rd gen NIC - PF initialization
Date:  Wed, 15 Oct 2025 15:15:26 +0800
Message-ID:  <cover.1760502478.git.zhuyikai1@h-partners.com>
Cc:  <netdev-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, "David S. Miller" <davem-AT-davemloft.net>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com>, Simon Horman <horms-AT-kernel.org>, Andrew Lunn <andrew+netdev-AT-lunn.ch>, <linux-doc-AT-vger.kernel.org>, Jonathan Corbet <corbet-AT-lwn.net>, Bjorn Helgaas <helgaas-AT-kernel.org>, luosifu <luosifu-AT-huawei.com>, Xin Guo <guoxin09-AT-huawei.com>, Shen Chenyang <shenchenyang1-AT-hisilicon.com>, Zhou Shuai <zhoushuai28-AT-huawei.com>, Wu Like <wulike1-AT-huawei.com>, Shi Jing <shijing34-AT-huawei.com>, Luo Yang <luoyang82-AT-h-partners.com>, Meny Yossefi <meny.yossefi-AT-huawei.com>, Gur Stavi <gur.stavi-AT-huawei.com>, Lee Trager <lee-AT-trager.us>, Michael Ellerman <mpe-AT-ellerman.id.au>, Vadim Fedorenko <vadim.fedorenko-AT-linux.dev>, Suman Ghosh <sumang-AT-marvell.com>, Przemek Kitszel <przemyslaw.kitszel-AT-intel.com>, Joe Damato <jdamato-AT-fastly.com>, Christophe JAILLET <christophe.jaillet-AT-wanadoo.fr>
Archive-link:  Article

This is [1/3] part of hinic3 Ethernet driver second submission.
With this patch hinic3 becomes a complete Ethernet driver with
pf and vf.

The driver parts contained in this patch:
Add support for PF framework based on the VF code.
Add PF management interfaces to communicate with HW.
Add ops to configure NIC features.
Support mac filter to unicast and multicast.
Add netdev notifier.
Fix code style of merged codes according to previous comments.

Changes:

PATCH 03 V01:

Fan Gong (9):
  hinic3: Add PF framework
  hinic3: Add PF management interfaces
  hinic3: Add NIC configuration ops
  hinic3: Add mac filter ops
  hinic3: Add netdev register interfaces
  hinic3: Fix netif_queue_set_napi queue_index parameter passing error
  hinic3: Fix code Style(remove empty lines between error handling)
  hinic3: Remove redundant defensive code
  hinic3: Use array_size instead of multiplying

 drivers/net/ethernet/huawei/hinic3/Makefile   |   1 +
 .../net/ethernet/huawei/hinic3/hinic3_cmdq.c  |   3 -
 .../net/ethernet/huawei/hinic3/hinic3_csr.h   |   6 +
 .../net/ethernet/huawei/hinic3/hinic3_eqs.c   |   1 -
 .../ethernet/huawei/hinic3/hinic3_filter.c    | 420 ++++++++++++++++++
 .../ethernet/huawei/hinic3/hinic3_hw_comm.c   | 105 +++++
 .../ethernet/huawei/hinic3/hinic3_hw_comm.h   |   6 +
 .../ethernet/huawei/hinic3/hinic3_hw_intf.h   |  24 +
 .../net/ethernet/huawei/hinic3/hinic3_hwdev.c |  93 +++-
 .../net/ethernet/huawei/hinic3/hinic3_hwdev.h |  55 ++-
 .../net/ethernet/huawei/hinic3/hinic3_hwif.c  |  89 +++-
 .../net/ethernet/huawei/hinic3/hinic3_hwif.h  |  23 +
 .../net/ethernet/huawei/hinic3/hinic3_irq.c   | 157 ++++++-
 .../net/ethernet/huawei/hinic3/hinic3_lld.c   |  70 ++-
 .../net/ethernet/huawei/hinic3/hinic3_main.c  | 266 ++++++++++-
 .../net/ethernet/huawei/hinic3/hinic3_mbox.c  |  57 ++-
 .../net/ethernet/huawei/hinic3/hinic3_mbox.h  |   2 +
 .../net/ethernet/huawei/hinic3/hinic3_mgmt.c  | 308 ++++++++++++-
 .../net/ethernet/huawei/hinic3/hinic3_mgmt.h  |  53 +++
 .../huawei/hinic3/hinic3_mgmt_interface.h     |  69 +++
 .../huawei/hinic3/hinic3_netdev_ops.c         | 380 ++++++++++++++++
 .../ethernet/huawei/hinic3/hinic3_nic_cfg.c   | 286 +++++++++++-
 .../ethernet/huawei/hinic3/hinic3_nic_cfg.h   |  47 ++
 .../ethernet/huawei/hinic3/hinic3_nic_dev.h   |  82 +++-
 .../net/ethernet/huawei/hinic3/hinic3_rx.h    |  20 +
 .../net/ethernet/huawei/hinic3/hinic3_tx.c    |   7 -
 .../net/ethernet/huawei/hinic3/hinic3_tx.h    |  18 +
 27 files changed, 2566 insertions(+), 82 deletions(-)
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_filter.c


base-commit: 16a2206354d169bfd13552ad577e07ce66e439ab
-- 
2.43.0




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds