[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1767861236.git.zhuyikai1@h-partners.com>
Date: Fri, 9 Jan 2026 10:35:50 +0800
From: Fan Gong <gongfan1@...wei.com>
To: Fan Gong <gongfan1@...wei.com>, Zhu Yikai <zhuyikai1@...artners.com>,
<netdev@...r.kernel.org>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, Simon Horman <horms@...nel.org>, Andrew Lunn
<andrew+netdev@...n.ch>, Markus Elfring <Markus.Elfring@....de>, Pavan Chebbi
<pavan.chebbi@...adcom.com>, ALOK TIWARI <alok.a.tiwari@...cle.com>
CC: <linux-kernel@...r.kernel.org>, <linux-doc@...r.kernel.org>, luosifu
<luosifu@...wei.com>, Xin Guo <guoxin09@...wei.com>, Zhou Shuai
<zhoushuai28@...wei.com>, Wu Like <wulike1@...wei.com>, Shi Jing
<shijing34@...wei.com>, Luo Yang <luoyang82@...artners.com>
Subject: [PATCH net-next v10 0/9] net: hinic3: PF initialization
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 8 netdev ops to configure NIC features.
Support mac filter to unicast and multicast.
Add HW event handler to manage port and link status.
Changes:
PATCH 01 V01: https://lore.kernel.org/netdev/cover.1760502478.git.zhuyikai1@h-partners.com/
PATCH 01 V02: https://lore.kernel.org/netdev/cover.1760685059.git.zhuyikai1@h-partners.com/
* Change the order of hinic3_netdev_event (Jakub Kicinski)
* Use netdev_hold/put instead of dev_hold/put (Jakub Kicinski)
* Remove the semicolon at the end of switch case (Jakub Kicinski)
* Remove redundant PF judgement in hinic3_rx_tx_flush (Paven Chebbi)
* change hinic3_send_mbox_to_mgmt errcode to EFAULT (Paven Chebbi)
* Optimize hinic3_set_bdf_ctxt parameters (Paven Chebbi)
* Modify main and CC recipients (Markus Elfring)
PATCH 01 V03: https://lore.kernel.org/netdev/cover.1761362580.git.zhuyikai1@h-partners.com/
* Use disable_delayed_work_sync instead of cancel_delayed_work_sync (Paolo Abeni)
* Fill in the missing hinic3_sync_time & hinic3_free_ppf_work (Paolo Abeni)
* Refactor hinic3_mac_filter_sync to implement linux coding style(err label)
and improve readability (Paolo Abeni & Markus Elfring)
PATCH 01 V04: https://lore.kernel.org/netdev/cover.1761711549.git.zhuyikai1@h-partners.com/
* Use linux error value(EADDRINUSE) instead of custom value in set_mac (Simon Horman)
* Use "hinic3_check_pf_set_vf_already" function instead of macro (Simon Horman)
PATCH 01 V05: https://lore.kernel.org/netdev/cover.1762414088.git.zhuyikai1@h-partners.com/
* Code format fixes: wrap the code at 80 characters (Jakub Kicinski)
* Use str_up_down instead of ternary expression (Simon Horman)
* Remove needless override of error value (Simon Horman)
PATCH 01 V06: https://lore.kernel.org/netdev/cover.1762581665.git.zhuyikai1@h-partners.com/
* Update dev_err messages (ALOK TIWARI)
* Remove redundant codes "message from vf" in get_mbox_msg_desc (ALOK TIWARI)
* Code spell fix (ALOK TIWARI)
* Modfiy hinic3_uc_sync/unsync to hinic3_filter_mac_sync/unsync (ALOK TIWARI)
* Modify hinic3_mac_filter_sync_hw to return error code (ALOK TIWARI)
PATCH 01 V07: https://lore.kernel.org/netdev/cover.1763555878.git.zhuyikai1@h-partners.com/
* Change port_state_sem to mutex (Jakub Kicinski)
* Use DIM infrastructure to change itr moderation configuration (Jakub Kicinski)
* Remove redundant TX TIMEOUT counter (Jakub Kicinski)
* Use txqueue in tx_timeout instead of searching for timeout queue (Jakub Kicinski)
* Remove redundant initialization to ndev features with more than 1
vlan depth. (Jakub Kicinski)
* Split patch for one single thing and optimize commit information (Jakub Kicinski)
PATCH 01 V08: https://lore.kernel.org/netdev/cover.1767495881.git.zhuyikai1@h-partners.com/
* Remove netdev notifier interfaces and use ndo_features_check to solve packets
with multiple vlan tags instead of using vlan_features (Paolo Abeni)
PATCH 01 V09: https://lore.kernel.org/netdev/cover.1767707500.git.zhuyikai1@h-partners.com/
* Add null check in hinic3_mbox_func_aeqe_handler (AI review)
* Add disable_delayed_work_sync in err_uninit_nic_feature (AI review)
* Add vlan_filter's zero initialization (AI review)
* Add disable_work_sync in hinic3_qps_irq_uninit (AI review)
* Adjust hinic3_mac_filter_sync_hw params for readability (AI review)
PATCH 01 V10:
* Fix wrong filter state in hinic3_mac_filter_sync error path (AI review)
* Fix the case that mgmt_work->msg is not initialized (AI review)
* Use vlan_features_check & vxlan_features_check intead of custom funcion (AI review)
* Fix wrong error path of netif_set_real_num_queues (AI review)
Fan Gong (9):
hinic3: Add PF framework
hinic3: Add PF management interfaces
hinic3: Add .ndo_tx_timeout and .ndo_get_stats64
hinic3: Add .ndo_set_features and .ndo_fix_features
hinic3: Add .ndo_features_check
hinic3: Add .ndo_vlan_rx_add/kill_vid and .ndo_validate_addr
hinic3: Add adaptive IRQ coalescing with DIM
hinic3: Add mac filter ops
hinic3: Add HW event handler
drivers/net/ethernet/huawei/hinic3/Makefile | 1 +
.../net/ethernet/huawei/hinic3/hinic3_csr.h | 6 +
.../ethernet/huawei/hinic3/hinic3_filter.c | 417 ++++++++++++++++++
.../ethernet/huawei/hinic3/hinic3_hw_comm.c | 115 +++++
.../ethernet/huawei/hinic3/hinic3_hw_comm.h | 6 +
.../ethernet/huawei/hinic3/hinic3_hw_intf.h | 24 +
.../net/ethernet/huawei/hinic3/hinic3_hwdev.c | 97 +++-
.../net/ethernet/huawei/hinic3/hinic3_hwdev.h | 21 +
.../net/ethernet/huawei/hinic3/hinic3_hwif.c | 90 +++-
.../net/ethernet/huawei/hinic3/hinic3_hwif.h | 23 +
.../net/ethernet/huawei/hinic3/hinic3_irq.c | 97 +++-
.../net/ethernet/huawei/hinic3/hinic3_lld.c | 53 ++-
.../net/ethernet/huawei/hinic3/hinic3_main.c | 182 +++++++-
.../net/ethernet/huawei/hinic3/hinic3_mbox.c | 53 ++-
.../net/ethernet/huawei/hinic3/hinic3_mbox.h | 2 +
.../net/ethernet/huawei/hinic3/hinic3_mgmt.c | 313 ++++++++++++-
.../net/ethernet/huawei/hinic3/hinic3_mgmt.h | 53 +++
.../huawei/hinic3/hinic3_mgmt_interface.h | 69 +++
.../huawei/hinic3/hinic3_netdev_ops.c | 377 +++++++++++++++-
.../ethernet/huawei/hinic3/hinic3_nic_cfg.c | 284 +++++++++++-
.../ethernet/huawei/hinic3/hinic3_nic_cfg.h | 47 ++
.../ethernet/huawei/hinic3/hinic3_nic_dev.h | 60 ++-
.../net/ethernet/huawei/hinic3/hinic3_rx.h | 21 +
.../net/ethernet/huawei/hinic3/hinic3_tx.h | 16 +
24 files changed, 2390 insertions(+), 37 deletions(-)
create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_filter.c
base-commit: dbf8fe85a16a33d6b6bd01f2bc606fc017771465
--
2.43.0
Powered by blists - more mailing lists