[PATCH net-next v03 0/1] net: hinic3: Add a driver for Huawei 3rd gen NIC - part 2

From: Fan Gong
Date: Mon Jun 16 2025 - 03:28:14 EST


This is the 2/3 patch of the patch-set described below.

The patch-set contains driver for Huawei's 3rd generation HiNIC
Ethernet device that will be available in the future.

This is an SRIOV device, designed for data centers.
Initially, the driver only supports VFs.

Following the discussion over RFC01, the code will be submitted in
separate smaller patches where until the last patch the driver is
non-functional. The RFC02 submission contains overall view of the entire
driver but every patch will be posted as a standalone submission.

Changes:

PATCH 02 V01: https://lore.kernel.org/netdev/cover.1749561390.git.root@localhost.localdomain

PATCH 02 V02: https://lore.kernel.org/netdev/cover.1749718348.git.zhuyikai1@xxxxxxxxxxxxxx
* Fix build allmodconfig warning (patchwork)
* Update cover-letter changes information.

PATCH 02 V03:
* Use refcount_*() instead of atomic_*() (Jakub Kicinski)
* Consistency fixes : HIG->HIGH, BAR45->BAR4/5 , etc (ALOK TIWARI)
* Code format fixes : use \n before return, remove extra spaces (ALOK TIWARI)
* Remove hinic3_request_irq redundant error print (ALOK TIWARI)
* Modify hinic3_wq_create error print (ALOK TIWARI)

Fan Gong (1):
hinic3: management interfaces

drivers/net/ethernet/huawei/hinic3/Makefile | 4 +-
.../net/ethernet/huawei/hinic3/hinic3_cmdq.c | 912 ++++++++++++++++++
.../net/ethernet/huawei/hinic3/hinic3_cmdq.h | 156 +++
.../ethernet/huawei/hinic3/hinic3_common.c | 31 +
.../ethernet/huawei/hinic3/hinic3_common.h | 27 +
.../net/ethernet/huawei/hinic3/hinic3_csr.h | 79 ++
.../net/ethernet/huawei/hinic3/hinic3_eqs.c | 803 +++++++++++++++
.../net/ethernet/huawei/hinic3/hinic3_eqs.h | 130 +++
.../ethernet/huawei/hinic3/hinic3_hw_cfg.c | 43 +
.../ethernet/huawei/hinic3/hinic3_hw_comm.c | 31 +
.../ethernet/huawei/hinic3/hinic3_hw_comm.h | 13 +
.../ethernet/huawei/hinic3/hinic3_hw_intf.h | 36 +
.../net/ethernet/huawei/hinic3/hinic3_hwif.c | 153 ++-
.../net/ethernet/huawei/hinic3/hinic3_hwif.h | 16 +
.../net/ethernet/huawei/hinic3/hinic3_irq.c | 137 ++-
.../net/ethernet/huawei/hinic3/hinic3_lld.c | 5 +
.../net/ethernet/huawei/hinic3/hinic3_main.c | 65 +-
.../net/ethernet/huawei/hinic3/hinic3_mbox.c | 843 +++++++++++++++-
.../net/ethernet/huawei/hinic3/hinic3_mbox.h | 127 +++
.../ethernet/huawei/hinic3/hinic3_nic_cfg.c | 2 +
.../ethernet/huawei/hinic3/hinic3_nic_dev.h | 14 +-
.../huawei/hinic3/hinic3_queue_common.h | 1 +
.../net/ethernet/huawei/hinic3/hinic3_tx.c | 2 +
.../net/ethernet/huawei/hinic3/hinic3_wq.c | 109 +++
.../net/ethernet/huawei/hinic3/hinic3_wq.h | 11 +
25 files changed, 3735 insertions(+), 15 deletions(-)
create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_csr.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_eqs.h


base-commit: 8909f5f4ecd551c2299b28e05254b77424c8c7dc
--
2.43.0