[PATCH net-next v03 0/9] net: hinic3: PF initialization

From: Fan Gong

Date: Mon Mar 09 2026 - 21:06:02 EST


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

Add cmdq detailed-response interfaces.
Add dump interfaces for cmdq, aeq, ceq and mailbox.
Add msg_send_lock for message sending concurrency.
Add PF device support and chip_present_flag to check cards.
Add rx vlan offload support.
Add PF FLR wait and timeout handling.
Add 5 ethtool ops for information of driver and link.

Changes:

PATCH 02 V01: https://lore.kernel.org/netdev/cover.1771916043.git.zhuyikai1@xxxxxxxxxxxxxx/
* Add err handling after cmdq_sync_cmd_direct_resp (AI review)
* Merge "cmdq_sync_cmd_detail_resp" and "cmdq_sync_cmd_direct_resp" into
"cmdq_sync_cmd_exec" (AI review)
* Add "status == HINIC3_PCIE_LINK_DOWN" in check_hwif_ready_handler to check
card present (AI review)
* Remove unneed GRO feature judgement and move csum_level to hinic3_rx_csum
(AI review)
* Add chip_present_flag judgement in hinic3_check_flr_finish_handler to avoid
meaningless polling (AI review)
* Remove unneed judgement in hinic3_parse_l2nic_res_cap (AI review)
* Add hinic3 prefix to get_cap_from_fw and modify error log (AI review)
* Execute hinic3_set_wq_page_size for both PF and VF (AI review)
* Divide v01 patch into two parts (Jakub Kicinski)

PATCH 02 V02: https://lore.kernel.org/netdev/cover.1772697509.git.zhuyikai1@xxxxxxxxxxxxxx/
* Add le16_to_cpu for printing buf_in->size (AI review)
* Modify hinic3_cfg_hw_pause error handling (AI review)

PATCH 02 V03:

Fan Gong (9):
hinic3: Add command queue detailed-response interfaces
hinic3: Add Command Queue/Async Event Queue/Complete Event
Queue/Mailbox dump interfaces
hinic3: Add chip_present_flag checks to prevent errors when card is
absent
hinic3: Add RX VLAN offload support
hinic3: Add msg_send_lock for message sending concurrecy
hinic3: Add PF device support and function type validation
hinic3: Add PF FLR wait and timeout handling
hinic3: Add PF/VF capability parsing and parameter validation
hinic3: Add ethtool basic ops

drivers/net/ethernet/huawei/hinic3/Makefile | 1 +
.../net/ethernet/huawei/hinic3/hinic3_cmdq.c | 195 +++++++-
.../net/ethernet/huawei/hinic3/hinic3_cmdq.h | 15 +
.../ethernet/huawei/hinic3/hinic3_common.c | 6 +-
.../ethernet/huawei/hinic3/hinic3_common.h | 1 +
.../net/ethernet/huawei/hinic3/hinic3_csr.h | 2 +
.../net/ethernet/huawei/hinic3/hinic3_eqs.c | 65 +++
.../net/ethernet/huawei/hinic3/hinic3_eqs.h | 5 +
.../ethernet/huawei/hinic3/hinic3_ethtool.c | 425 ++++++++++++++++++
.../ethernet/huawei/hinic3/hinic3_hw_cfg.c | 47 +-
.../ethernet/huawei/hinic3/hinic3_hw_cfg.h | 8 +
.../ethernet/huawei/hinic3/hinic3_hw_comm.c | 69 +++
.../ethernet/huawei/hinic3/hinic3_hw_comm.h | 2 +
.../ethernet/huawei/hinic3/hinic3_hw_intf.h | 12 +
.../net/ethernet/huawei/hinic3/hinic3_hwdev.c | 9 +
.../net/ethernet/huawei/hinic3/hinic3_hwdev.h | 1 +
.../net/ethernet/huawei/hinic3/hinic3_hwif.c | 23 +-
.../net/ethernet/huawei/hinic3/hinic3_lld.c | 1 +
.../net/ethernet/huawei/hinic3/hinic3_main.c | 3 +
.../net/ethernet/huawei/hinic3/hinic3_mbox.c | 39 +-
.../net/ethernet/huawei/hinic3/hinic3_mbox.h | 4 +
.../huawei/hinic3/hinic3_mgmt_interface.h | 16 +-
.../huawei/hinic3/hinic3_netdev_ops.c | 16 +-
.../ethernet/huawei/hinic3/hinic3_nic_cfg.c | 77 ++++
.../ethernet/huawei/hinic3/hinic3_nic_cfg.h | 110 +++++
.../ethernet/huawei/hinic3/hinic3_nic_dev.h | 3 +
.../huawei/hinic3/hinic3_pci_id_tbl.h | 1 +
.../net/ethernet/huawei/hinic3/hinic3_rss.c | 2 +-
.../net/ethernet/huawei/hinic3/hinic3_rx.c | 15 +
.../net/ethernet/huawei/hinic3/hinic3_rx.h | 3 +
30 files changed, 1146 insertions(+), 30 deletions(-)
create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_ethtool.c


base-commit: ad3dfa80be765757f612da04318248f6d20e4f71
--
2.43.0