Skip to content

Huawei HiNIC Ethernet Driver

Aviad Krawczyk lkml netdev 9 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest22 patches 6 repliesIn review
  2. v722 patches 2 repliesSuperseded
  3. v621 patches 2 repliesSuperseded
Earlier versions · 6
VersionPostedPatchesRepliesStatus
v5 posting 2/221 patches5 repliesSuperseded
v5 posting 1/20 of 21 patches0 repliesSuperseded
v421 patches2 repliesSuperseded
v321 patches4 repliesSuperseded
v221 patches14 repliesSuperseded
v120 patches6 repliesSuperseded

Changes in v8 from the cover letter

1. Remove unnecessary cast from void * - Stephen Hemminger comment

Patches in v8 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/22net-next/hinic: Initialize hw interfaceDocumentation/networking/hinic.txt drivers/net/ethernet/Kconfig drivers/net/ethernet/Makefile +11 more+1042 -00 replies
2/22net-next/hinic: Initialize hw device componentsdrivers/net/ethernet/huawei/hinic/Makefile drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h +5 more+576 -140 replies
3/22net-next/hinic: Initialize api cmd resourcesdrivers/net/ethernet/huawei/hinic/Makefile drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h +2 more+563 -20 replies
4/22net-next/hinic: Initialize api cmd hwdrivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h+236 -10 replies
5/22net-next/hinic: Add management messagesdrivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h drivers/net/ethernet/huawei/hinic/hinic_hw_if.h +2 more+538 -30 replies
6/22net-next/hinic: Add api cmd commandsdrivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h+398 -20 replies
7/22net-next/hinic: Add aeqsdrivers/net/ethernet/huawei/hinic/hinic_hw_csr.h drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.h +2 more+727 -20 replies
8/22net-next/hinic: Add port management commandsdrivers/net/ethernet/huawei/hinic/Makefile drivers/net/ethernet/huawei/hinic/hinic_dev.h drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +4 more+551 -30 replies
9/22net-next/hinic: Add Rx mode and link event handlerdrivers/net/ethernet/huawei/hinic/hinic_dev.h drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +8 more+745 -10 replies
10/22net-next/hinic: Add logical Txq and Rxqdrivers/net/ethernet/huawei/hinic/Makefile drivers/net/ethernet/huawei/hinic/hinic_dev.h drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +9 more+793 -40 replies
11/22net-next/hinic: Add wqdrivers/net/ethernet/huawei/hinic/Makefile drivers/net/ethernet/huawei/hinic/hinic_common.h drivers/net/ethernet/huawei/hinic/hinic_hw_io.c +5 more+968 -50 replies
12/22net-next/hinic: Add qp resourcesdrivers/net/ethernet/huawei/hinic/Makefile drivers/net/ethernet/huawei/hinic/hinic_hw_if.h drivers/net/ethernet/huawei/hinic/hinic_hw_io.c +3 more+507 -50 replies
13/22net-next/hinic: Set qp contextdrivers/net/ethernet/huawei/hinic/Makefile drivers/net/ethernet/huawei/hinic/hinic_common.c drivers/net/ethernet/huawei/hinic/hinic_common.h +9 more+787 -20 replies
14/22net-next/hinic: Initialize cmdqdrivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.h +3 more+500 -60 replies
15/22net-next/hinic: Add ceqsdrivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +4 more+427 -80 replies
16/22net-next/hinic: Add cmdq commandsdrivers/net/ethernet/huawei/hinic/hinic_common.c drivers/net/ethernet/huawei/hinic/hinic_common.h drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c +5 more+683 -20 replies
17/22net-next/hinic: Add cmdq completion handlerdrivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h+308 -10 replies
18/22net-next/hinic: Add Rx handlerdrivers/net/ethernet/huawei/hinic/hinic_dev.h drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +13 more+1278 -00 replies
19/22net-next/hinic: Add Tx operationdrivers/net/ethernet/huawei/hinic/hinic_dev.h drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h +5 more+799 -40 replies
20/22net-next/hinic: Add ethtool and statsdrivers/net/ethernet/huawei/hinic/hinic_dev.h drivers/net/ethernet/huawei/hinic/hinic_main.c drivers/net/ethernet/huawei/hinic/hinic_port.c +5 more+341 -10 replies
21/22net-next/hinic: Add netpolldrivers/net/ethernet/huawei/hinic/hinic_main.c+20 -00 replies
22/22net-next/hinic: Add MaintainerMAINTAINERS+7 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v8 yet.

Read the v8 thread

Cover letter [PATCH V8 net-next 00/22] Huawei HiNIC Ethernet Driver

The patch-set contains the support of the HiNIC Ethernet driver for hinic family of PCIE Network Interface Cards.

The Huawei's PCIE HiNIC card is a new Ethernet card and hence there was a need of a new driver.

The current driver is meant to be used for the Physical Function and there would soon be a support for Virtual Function and more features once the basic PF driver has been accepted.

Changes V7 -> V8:
1. Remove unnecessary cast from void * - Stephen Hemminger comment

	https://lkml.org/lkml/2017/8/17/1008

Changes V6 -> V7:
1. Separate netpoll and MAINTAINERS patch - Sergei Shtylyov comment

	https://lkml.org/lkml/2017/8/17/479

Changes V5 -> V6:
1. Fix cover letter Message-Id

Changes V4 -> V5:
1. Remove select_queue NOP - David Miller comment

        https://lkml.org/lkml/2017/8/16/625

Changes V3 -> V4:
1. Reverse christmas tree order - David Miller comment

        https://lkml.org/lkml/2017/8/3/862

Changes V2 -> V3:
1. Replace dev_ functions by netif_ functions - Joe Perches comment

        https://lkml.org/lkml/2017/7/19/424
2. Fix the driver directory in MAINTAINERS file - Sergei Shtylyov comment
        https://lkml.org/lkml/2017/7/19/615
3. Add a newline at the end of Makefile - David Miller comment
        https://lkml.org/lkml/2017/7/19/1345
4. Return a pointer as a val instead of in arg - Francois Romieu comment
        https://lkml.org/lkml/2017/7/19/1319
5. Change the error labels to err_xyz - Francois Romieu comment
        https://lkml.org/lkml/2017/7/19/1319
6. Remove check of Func Type in free function - Francois Romieu comment
        https://lkml.org/lkml/2017/7/19/1319
7. Remove !netdev check in remove function - Francois Romieu comment
        https://lkml.org/lkml/2017/7/19/1319
8. Use module_pci_driver - Francois Romieu comment
        https://lkml.org/lkml/2017/7/19/1319
9. Move the PCI device ID to the .c file - Francois Romieu comment
        https://lkml.org/lkml/2017/7/19/1319
10. Remove void * to avoid passing wrong ptr - Francois Romieu comment
        https://lkml.org/lkml/2017/7/19/1319

Changes V1 -> V2:
1. remove driver verstion - Andrew Lunn comment

        https://lkml.org/lkml/2017/7/12/372
2. replace kzalloc by devm_kzalloc for short clean - Andrew Lunn comment
        https://lkml.org/lkml/2017/7/12/372
3. replace pr_ functions by dev_ functions - Andrew Lunn comment
        https://lkml.org/lkml/2017/7/12/375
4. seperate last patch by moving ops to a new patch - Andrew Lunn comment
        https://lkml.org/lkml/2017/7/12/377

Aviad Krawczyk (22):
net-next/hinic: Initialize hw interface net-next/hinic: Initialize hw device components net-next/hinic: Initialize api cmd resources net-next/hinic: Initialize api cmd hw net-next/hinic: Add management messages net-next/hinic: Add api cmd commands net-next/hinic: Add aeqs
net-next/hinic: Add port management commands net-next/hinic: Add Rx mode and link event handler net-next/hinic: Add logical Txq and Rxq net-next/hinic: Add wq
net-next/hinic: Add qp resources net-next/hinic: Set qp context net-next/hinic: Initialize cmdq net-next/hinic: Add ceqs
net-next/hinic: Add cmdq commands net-next/hinic: Add cmdq completion handler net-next/hinic: Add Rx handler net-next/hinic: Add Tx operation net-next/hinic: Add ethtool and stats net-next/hinic: Add netpoll net-next/hinic: Add Maintainer

 Documentation/networking/hinic.txt                 |  125 +++
 MAINTAINERS                                        |    7 +
 drivers/net/ethernet/Kconfig                       |    1 +
 drivers/net/ethernet/Makefile                      |    1 +
 drivers/net/ethernet/huawei/Kconfig                |   19 +
 drivers/net/ethernet/huawei/Makefile               |    5 +
 drivers/net/ethernet/huawei/hinic/Kconfig          |   13 +
 drivers/net/ethernet/huawei/hinic/Makefile         |    6 +
 drivers/net/ethernet/huawei/hinic/hinic_common.c   |   80 ++
 drivers/net/ethernet/huawei/hinic/hinic_common.h   |   38 +
 drivers/net/ethernet/huawei/hinic/hinic_dev.h      |   64 ++
 .../net/ethernet/huawei/hinic/hinic_hw_api_cmd.c   |  977 +++++++++++++++++
 .../net/ethernet/huawei/hinic/hinic_hw_api_cmd.h   |  208 ++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c  |  946 +++++++++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h  |  187 ++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h   |  149 +++
 drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c   | 1048 ++++++++++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h   |  239 +++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c   |  886 ++++++++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.h   |  265 +++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_if.c    |  351 +++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_if.h    |  272 +++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_io.c    |  533 ++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_io.h    |   97 ++
 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c  |  597 +++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.h  |  153 +++
 drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c    |  887 ++++++++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h    |  180 ++++
 .../net/ethernet/huawei/hinic/hinic_hw_qp_ctxt.h   |  214 ++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_wq.c    |  878 ++++++++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_hw_wq.h    |  117 +++
 drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h   |  368 +++++++
 drivers/net/ethernet/huawei/hinic/hinic_main.c     | 1111 ++++++++++++++++++++
 drivers/net/ethernet/huawei/hinic/hinic_port.c     |  379 +++++++
 drivers/net/ethernet/huawei/hinic/hinic_port.h     |  198 ++++
 drivers/net/ethernet/huawei/hinic/hinic_rx.c       |  509 +++++++++
 drivers/net/ethernet/huawei/hinic/hinic_rx.h       |   55 +
 drivers/net/ethernet/huawei/hinic/hinic_tx.c       |  503 +++++++++
 drivers/net/ethernet/huawei/hinic/hinic_tx.h       |   62 ++
 39 files changed, 12728 insertions(+)
 create mode 100644 Documentation/networking/hinic.txt
 create mode 100644 drivers/net/ethernet/huawei/Kconfig
 create mode 100644 drivers/net/ethernet/huawei/Makefile
 create mode 100644 drivers/net/ethernet/huawei/hinic/Kconfig
 create mode 100644 drivers/net/ethernet/huawei/hinic/Makefile
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_common.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_common.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_dev.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_csr.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_if.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_if.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_io.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_io.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_qp_ctxt.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_wq.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_wq.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_main.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_port.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_port.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_rx.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_rx.h
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_tx.c
 create mode 100644 drivers/net/ethernet/huawei/hinic/hinic_tx.h
Signature · 1 line
1.9.1