[RFC net-next v02 0/3] net: hinic3: Add a driver for Huawei 3rd gen NIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
This RFC02 is an overall view of the entire driver but every patch will be
posted as a standalone submission.

Changes:

V01: https://lore.kernel.org/netdev/cover.1730290527.git.gur.stavi@xxxxxxxxxx
* Reduce overall line of code by removing optional functionality.
* Break down into smaller patches.

gongfan (3):
  net: hinic3: module initialization and tx/rx logic
  net: hinic3: management interfaces
  net: hinic3: sw and hw initialization code

 .../device_drivers/ethernet/huawei/hinic3.rst | 136 +++
 MAINTAINERS                                   |   7 +
 drivers/net/ethernet/huawei/Kconfig           |   1 +
 drivers/net/ethernet/huawei/Makefile          |   1 +
 drivers/net/ethernet/huawei/hinic3/Kconfig    |  16 +
 drivers/net/ethernet/huawei/hinic3/Makefile   |  25 +
 .../net/ethernet/huawei/hinic3/hinic3_cmdq.c  | 898 ++++++++++++++++++
 .../net/ethernet/huawei/hinic3/hinic3_cmdq.h  | 150 +++
 .../ethernet/huawei/hinic3/hinic3_common.c    |  98 ++
 .../ethernet/huawei/hinic3/hinic3_common.h    |  54 ++
 .../net/ethernet/huawei/hinic3/hinic3_csr.h   |  74 ++
 .../net/ethernet/huawei/hinic3/hinic3_eqs.c   | 786 +++++++++++++++
 .../net/ethernet/huawei/hinic3/hinic3_eqs.h   | 128 +++
 .../ethernet/huawei/hinic3/hinic3_hw_cfg.c    | 266 ++++++
 .../ethernet/huawei/hinic3/hinic3_hw_cfg.h    |  62 ++
 .../ethernet/huawei/hinic3/hinic3_hw_comm.c   | 412 ++++++++
 .../ethernet/huawei/hinic3/hinic3_hw_comm.h   |  42 +
 .../ethernet/huawei/hinic3/hinic3_hw_intf.h   | 248 +++++
 .../net/ethernet/huawei/hinic3/hinic3_hwdev.c | 569 +++++++++++
 .../net/ethernet/huawei/hinic3/hinic3_hwdev.h |  82 ++
 .../net/ethernet/huawei/hinic3/hinic3_hwif.c  | 430 +++++++++
 .../net/ethernet/huawei/hinic3/hinic3_hwif.h  |  91 ++
 .../net/ethernet/huawei/hinic3/hinic3_irq.c   | 172 ++++
 .../net/ethernet/huawei/hinic3/hinic3_lld.c   | 417 ++++++++
 .../net/ethernet/huawei/hinic3/hinic3_lld.h   |  20 +
 .../net/ethernet/huawei/hinic3/hinic3_main.c  | 417 ++++++++
 .../net/ethernet/huawei/hinic3/hinic3_mbox.c  | 844 ++++++++++++++++
 .../net/ethernet/huawei/hinic3/hinic3_mbox.h  | 147 +++
 .../net/ethernet/huawei/hinic3/hinic3_mgmt.c  |  21 +
 .../net/ethernet/huawei/hinic3/hinic3_mgmt.h  |  14 +
 .../huawei/hinic3/hinic3_mgmt_interface.h     | 212 +++++
 .../huawei/hinic3/hinic3_netdev_ops.c         | 518 ++++++++++
 .../ethernet/huawei/hinic3/hinic3_nic_cfg.c   | 395 ++++++++
 .../ethernet/huawei/hinic3/hinic3_nic_cfg.h   |  76 ++
 .../ethernet/huawei/hinic3/hinic3_nic_dev.h   | 107 +++
 .../ethernet/huawei/hinic3/hinic3_nic_io.c    | 885 +++++++++++++++++
 .../ethernet/huawei/hinic3/hinic3_nic_io.h    | 142 +++
 .../huawei/hinic3/hinic3_pci_id_tbl.h         |  10 +
 .../huawei/hinic3/hinic3_queue_common.c       |  65 ++
 .../huawei/hinic3/hinic3_queue_common.h       |  51 +
 .../net/ethernet/huawei/hinic3/hinic3_rss.c   | 378 ++++++++
 .../net/ethernet/huawei/hinic3/hinic3_rss.h   |  14 +
 .../net/ethernet/huawei/hinic3/hinic3_rx.c    | 620 ++++++++++++
 .../net/ethernet/huawei/hinic3/hinic3_rx.h    | 104 ++
 .../net/ethernet/huawei/hinic3/hinic3_tx.c    | 817 ++++++++++++++++
 .../net/ethernet/huawei/hinic3/hinic3_tx.h    | 141 +++
 .../net/ethernet/huawei/hinic3/hinic3_wq.c    | 132 +++
 .../net/ethernet/huawei/hinic3/hinic3_wq.h    |  87 ++
 48 files changed, 11382 insertions(+)
 create mode 100644 Documentation/networking/device_drivers/ethernet/huawei/hinic3.rst
 create mode 100644 drivers/net/ethernet/huawei/hinic3/Kconfig
 create mode 100644 drivers/net/ethernet/huawei/hinic3/Makefile
 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_common.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_common.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
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hw_comm.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hw_comm.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hw_intf.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_hwif.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_irq.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_lld.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_lld.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_main.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_mbox.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_mgmt.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_mgmt.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_mgmt_interface.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_nic_cfg.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_nic_cfg.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_nic_dev.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_pci_id_tbl.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_queue_common.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_queue_common.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_rss.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_rss.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_rx.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_rx.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_tx.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_wq.c
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_wq.h


base-commit: 65fb414c93f486cef5408951350f20552113abd0
--
2.45.2





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux