net: hinic3: Add a driver for Huawei 3rd gen NIC - management interfaces
Status from this message: This series was applied to netdev/net-next.git (main)
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v14 Latest8 patches 0 repliesApplied 8/8
- v138 patches 2 repliesSuperseded
- v128 patches 1 replySuperseded
Earlier versions · 12
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v11 posting 2/2 | 0 of 8 patches | 0 replies | Superseded | |
| v11 posting 1/2 | 8 patches | 0 replies | Superseded | |
| v10 | 8 patches | 14 replies | Superseded | |
| v9 | 8 patches | 3 replies | Superseded | |
| v8 | 8 patches | 1 reply | Superseded | |
| v7 | 8 patches | 3 replies | Superseded | |
| v6 | 8 patches | 9 replies | Superseded | |
| v5 | 8 patches | 3 replies | Superseded | |
| v4 | 8 patches | 1 reply | Superseded | |
| v3 | 1 patch | 1 reply | Superseded | |
| v2 | 1 patch | 2 replies | Superseded | |
| v1 | 1 patch | 0 replies | Superseded |
Patches in v14 All 8 applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | hinic3: Async Event Queue interfacesdrivers/ drivers/ drivers/ +6 more | +740 | 0 replies | Applied |
| 2/8 | hinic3: Complete Event Queue interfacesdrivers/ drivers/ drivers/ +3 more | +545 | 0 replies | Applied |
| 3/8 | hinic3: Command Queue frameworkdrivers/ drivers/ drivers/ +4 more | +694 | 0 replies | Applied |
| 4/8 | hinic3: Command Queue interfacesdrivers/ drivers/ drivers/ | +522 | 0 replies | Applied |
| 5/8 | hinic3: TX & RX Queue coalesce interfacesdrivers/ drivers/ | +66 | 0 replies | Applied |
| 6/8 | hinic3: Mailbox frameworkdrivers/ drivers/ drivers/ +1 more | +535 | 0 replies | Applied |
| 7/8 | hinic3: Mailbox management interfacesdrivers/ drivers/ | +460 | 0 replies | Applied |
| 8/8 | hinic3: Interrupt request configurationdrivers/ drivers/ drivers/ +1 more | +178 | 0 replies | Applied |
Reviews trailers per patch
1 of 8 patches has a Reviewed-by or Acked-by.
| Patch | Vadim Fedorenko |
|---|---|
| 1/8 | |
| 2/8 | |
| 3/8 | |
| 4/8 | |
| 5/8 | R-b |
| 6/8 | |
| 7/8 | |
| 8/8 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH net-next v14 0/8] net: hinic3: Add a driver for Huawei 3rd gen NIC - management interfaces
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/[email protected]
PATCH 02 V02: https://lore.kernel.org/netdev/[email protected]
* Fix build allmodconfig warning (patchwork)
* Update cover-letter changes information.
PATCH 02 V03: https://lore.kernel.org/netdev/[email protected]
* 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)
PATCH 02 V04: https://lore.kernel.org/netdev/[email protected]
* Break it up into smaller patches (Jakub Kicinski)
PATCH 02 V05: https://lore.kernel.org/netdev/[email protected]
* Fix build clang warning (Jakub Kicinski)
PATCH 02 V06: https://lore.kernel.org/netdev/[email protected]
* Use kmalloc instead of kzalloc for cmd_buf allocation (Vadim Fedorenko)
* Use usleep_range() for avoid CPU busy waiting (Vadim Fedorenko)
* Use kcalloc for intr_coalesce initialization (Vadim Fedorenko)
* Code format fixes: use reverse x-mas tree (Vadim Fedorenko)
* Simplify hinic3_mbox_pre_init logic (Vadim Fedorenko)
PATCH 02 V07: https://lore.kernel.org/netdev/[email protected]
* Use threaded IRQ instead of tasklet (Paolo Abeni)
* Use wmb instead of rmb in cmdq_sync_cmd_handler (Paolo Abeni)
PATCH 02 V08: https://lore.kernel.org/netdev/[email protected]
* Remove msg_send_lock to avoid a double-locking schema (Vadim Fedorenko)
* Use send_msg_id when assigning the value to msg_id (Vadim Fedorenko)
PATCH 02 V09: https://lore.kernel.org/netdev/[email protected]
* Use iowrite32be & ioread32be instead of writel & readl (Jakub Kicinski)
* Use queue_work instead of queue_work_on(WORK_CPU_UNBOUND...) (Jakub Kicinski)
* Modify aeqe & ceqe wmb comment (Jakub Kicinski)
* Remove synchronize_irq before free_irq (Jakub Kicinski)
PATCH 02 V10: https://lore.kernel.org/netdev/[email protected]
* Use spin_lock in aeq & ceq events instead of bits ops (Jakub Kicinski)
* Modify memory barriers comments to explain more clearly (Jakub Kicinski)
PATCH 02 V11: https://lore.kernel.org/netdev/[email protected]
* Remove unused cb_state variable (Simon Horman)
PATCH 02 V12: https://lore.kernel.org/netdev/[email protected]
* Use swab32_array instead of swab32 (Simon Horman)
* Use __le16/32/64 value in structs for interacting with HW (Simon Horman)
* Remove const char __iomem * casts (Simon Horman)
* use u8 * instead of void * to be more meaningful (Simon Horman)
* use FIELD_PREP to mask and shift up values (Simon Horman)
PATCH 02 V13: https://lore.kernel.org/netdev/[email protected]
* Handle sparse build warnings (Kernel test robot)
PATCH 02 V14:
* Use disable_work_sync() instead of cancel_work_sync() (Paolo Abeni)
* Use goto statement in hinic3_pre_init error handling (Paolo Abeni)
Fan Gong (8):
hinic3: Async Event Queue interfaces
hinic3: Complete Event Queue interfaces
hinic3: Command Queue framework
hinic3: Command Queue interfaces
hinic3: TX & RX Queue coalesce interfaces
hinic3: Mailbox framework
hinic3: Mailbox management interfaces
hinic3: Interrupt request configuration
drivers/net/ethernet/huawei/hinic3/Makefile | 4 +- .../net/ethernet/huawei/hinic3/hinic3_cmdq.c | 915 ++++++++++++++++++ .../net/ethernet/huawei/hinic3/hinic3_cmdq.h | 156 +++ .../ethernet/huawei/hinic3/hinic3_common.c | 23 + .../ethernet/huawei/hinic3/hinic3_common.h | 27 + .../net/ethernet/huawei/hinic3/hinic3_csr.h | 79 ++ .../net/ethernet/huawei/hinic3/hinic3_eqs.c | 776 +++++++++++++++ .../net/ethernet/huawei/hinic3/hinic3_eqs.h | 122 +++ .../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 | 148 ++- .../net/ethernet/huawei/hinic3/hinic3_hwif.h | 16 + .../net/ethernet/huawei/hinic3/hinic3_irq.c | 136 ++- .../net/ethernet/huawei/hinic3/hinic3_main.c | 61 +- .../net/ethernet/huawei/hinic3/hinic3_mbox.c | 848 +++++++++++++++- .../net/ethernet/huawei/hinic3/hinic3_mbox.h | 126 +++ .../ethernet/huawei/hinic3/hinic3_nic_dev.h | 14 +- .../net/ethernet/huawei/hinic3/hinic3_tx.c | 6 +- .../net/ethernet/huawei/hinic3/hinic3_wq.c | 109 +++ .../net/ethernet/huawei/hinic3/hinic3_wq.h | 19 +- 22 files changed, 3686 insertions(+), 22 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: bc4c0a48bdad7f225740b8e750fdc1da6d85e1eb
Signature · 1 line
2.43.0