On Thu, 19 Mar 2026 21:52:06 +0800
Feifei Wang <[email protected]> wrote:

> From: chenyi221 <[email protected]>
> 
> Change hinic3 driver to support Huawei new SPx series NIC.
> 
> v2:
> --fix build issues
> 
> v3:
> --fix community review comments and err reports
> 
> v4:
> --fix rss type assignment error
> 
> v5:
> --fix community ubuntu-22.04-clang err
> 
> v6:
> --fix atomic compilation error
> 
> Feifei Wang (7):
>   net/hinic3: add support for new SPx series NIC
>   net/hinic3: add enhance cmdq support for new SPx series NIC
>   net/hinic3: use different callback func to split new/old cmdq
>     operations
>   net/hinic3: add fun init ops to support Compact CQE
>   net/hinic3: add rx ops to support Compact CQE
>   net/hinic3: add tx ops to support Compact CQE
>   net/hinic3: use different callback func to support htn fdir
> 
>  drivers/net/hinic3/base/hinic3_cmd.h          |  80 ++-
>  drivers/net/hinic3/base/hinic3_cmdq.c         | 370 ++++------
>  drivers/net/hinic3/base/hinic3_cmdq.h         | 112 ++-
>  drivers/net/hinic3/base/hinic3_cmdq_enhance.c | 111 +++
>  drivers/net/hinic3/base/hinic3_cmdq_enhance.h | 125 ++++
>  drivers/net/hinic3/base/hinic3_csr.h          |  18 +-
>  drivers/net/hinic3/base/hinic3_hw_comm.c      |  15 +-
>  drivers/net/hinic3/base/hinic3_hw_comm.h      |  31 +-
>  drivers/net/hinic3/base/hinic3_hwdev.c        |  13 +-
>  drivers/net/hinic3/base/hinic3_hwdev.h        |  18 +
>  drivers/net/hinic3/base/hinic3_hwif.c         |  10 +-
>  drivers/net/hinic3/base/hinic3_mgmt.c         |   5 +-
>  drivers/net/hinic3/base/hinic3_mgmt.h         |   2 +
>  drivers/net/hinic3/base/hinic3_nic_cfg.c      | 182 ++---
>  drivers/net/hinic3/base/hinic3_nic_cfg.h      |  98 ++-
>  drivers/net/hinic3/base/meson.build           |   1 +
>  drivers/net/hinic3/hinic3_ethdev.c            | 279 ++++++--
>  drivers/net/hinic3/hinic3_ethdev.h            | 120 ++--
>  drivers/net/hinic3/hinic3_fdir.c              | 657 +++++++++++++-----
>  drivers/net/hinic3/hinic3_fdir.h              | 361 ++++++++--
>  drivers/net/hinic3/hinic3_nic_io.c            | 525 ++++++--------
>  drivers/net/hinic3/hinic3_nic_io.h            | 163 ++++-
>  drivers/net/hinic3/hinic3_rx.c                | 267 +++++--
>  drivers/net/hinic3/hinic3_rx.h                | 182 ++++-
>  drivers/net/hinic3/hinic3_tx.c                | 456 ++++++------
>  drivers/net/hinic3/hinic3_tx.h                | 154 +++-
>  .../net/hinic3/htn_adapt/hinic3_htn_cmdq.c    | 167 +++++
>  .../net/hinic3/htn_adapt/hinic3_htn_cmdq.h    |  63 ++
>  drivers/net/hinic3/htn_adapt/meson.build      |   7 +
>  drivers/net/hinic3/meson.build                |   8 +-
>  .../net/hinic3/stn_adapt/hinic3_stn_cmdq.c    | 151 ++++
>  .../net/hinic3/stn_adapt/hinic3_stn_cmdq.h    |  46 ++
>  drivers/net/hinic3/stn_adapt/meson.build      |   7 +
>  33 files changed, 3362 insertions(+), 1442 deletions(-)
>  create mode 100644 drivers/net/hinic3/base/hinic3_cmdq_enhance.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_cmdq_enhance.h
>  create mode 100644 drivers/net/hinic3/htn_adapt/hinic3_htn_cmdq.c
>  create mode 100644 drivers/net/hinic3/htn_adapt/hinic3_htn_cmdq.h
>  create mode 100644 drivers/net/hinic3/htn_adapt/meson.build
>  create mode 100644 drivers/net/hinic3/stn_adapt/hinic3_stn_cmdq.c
>  create mode 100644 drivers/net/hinic3/stn_adapt/hinic3_stn_cmdq.h
>  create mode 100644 drivers/net/hinic3/stn_adapt/meson.build
> 
> --
> 2.45.1.windows.1
> 
> 

You should also check and update the documentation.

Full list found by AI.

New capabilities added by the patches with no corresponding documentation:

New device IDs — SP230 (0x0229/0x3750) and SP920 (0x0224) are added in patch 1, 
but hinic3.rst is not updated to list the new adapter models. The existing text 
just says "SPx series" which is vague enough to arguably cover it, but specific 
model names would be helpful.
GENEVE tunnel TSO — Patch 4/6 adds RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO to 
tx_offload_capa when NIC_F_GENEVE_OFFLOAD is set. The features matrix 
hinic3.ini does not have a GENEVE tunnel TSO entry, nor does it list geneve 
under [rte_flow items].
IP-in-IP tunnel TSO — Patch 4/6 adds RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO. Not 
reflected in hinic3.ini.
VXLAN-GPE tunnel support — Patch 6 adds HINIC3_PKT_TX_TUNNEL_VXLAN_GPE handling 
in the TX path. Not in hinic3.ini.
Outer UDP checksum — Patch 6 adds RTE_MBUF_F_TX_OUTER_UDP_CKSUM support. Not in 
hinic3.ini.
QinQ / double VLAN — Patch 4 adds HINIC3_PKT_TX_QINQ_PKT (mapped to 
RTE_MBUF_F_TX_QINQ). Not in hinic3.ini (QinQ offload is available in 
default.ini but not set for hinic3).
Release notes — Adding support for new NIC hardware (SP230, SP920) and new 
offload features (GENEVE TSO, IP-in-IP TSO) should be mentioned in the current 
release notes file.

Features already documented that are unchanged (no action needed):
The existing features in hinic3.ini — RSS, TSO, LRO, VLAN filter, checksum 
offloads, scattered Rx, promiscuous/allmulticast, Inner L3/L4 checksum, vxlan 
flow item — all remain correct. The series does not remove any existing 
capability.
Summary for mailing list:
The series adds new device support (SP230, SP920) and new offload capabilities 
(GENEVE tunnel TSO, IP-in-IP tunnel TSO, VXLAN-GPE, outer UDP checksum, QinQ) 
but includes no documentation updates. Please update 
doc/guides/nics/features/hinic3.ini and the release notes to reflect the new 
hardware and offload capabilities.

Reply via email to