Unverified Commit 6773f12a authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!6647 infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver

Merge Pull Request from: @ci-robot 
 
PR sync from: Shuai Wu <wushuai51@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/A3PEBUT6KXC4N6M3SWKDSHLS3DA5GK2Y/ 
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I9EMOF


CVE: NA

---------------------------------

The RDMA driver supports the following features:
Supports Huawei SP600 series NICs;
Supports RoCEv2;
Supports RoCE UC, RC, and UD local switching;
Supports RoCE MR, PD, CQ, QoS, QP, and SRQ management;
Supports RoCE congestion control;
Supports RoCE Bond;
Supports RoCE FLR;
Supports RoCE entry specifications;
Supports RoCE error detection and reporting;

Signed-off-by: default avatarShuai Wu <wushuai51@huawei.com>

Shuai Wu (2):
  net/ethernet/huawei/hinic3: Add the CQM on which the RDMA depends
  infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver


-- 
2.33.0
 
https://gitee.com/openeuler/kernel/issues/I9EMOF 
 
Link:https://gitee.com/openeuler/kernel/pulls/6647

 

Reviewed-by: default avatarLiu Chao <liuchao173@huawei.com>
Reviewed-by: default avatarYue Haibing <yuehaibing@huawei.com>
Signed-off-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
parents 9529f1c1 5bc8dbb5
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -84,6 +84,21 @@ Data. (hinic3_hw_qp.c, hinic3_hw_qp.h, hinic3_hw_qp_ctxt.h)

IO - de/constructs all the IO components. (hinic3_hw_io.c, hinic3_hw_io.h)

CQM components:
==========

The CQM module organizes the memory in the large system in a format (CLA table)
and allocates the memory to the chip (BAT table). The chip can use the memory in
the large system to save context information and queue information (SCQ\SRQ).
(cqm_bat_cla.c, cqm_bat_cla.h, cqm_bitmap_table.c, cqm_bitmap_table.h)

When a packet is transmitted from the PCIe link, the chip parses the 5-tuple
such as sid, did, and hostid. Fill the parsed data in the queue
(in the form of scqe). In this way, the driver can directly obtain data from the
queue (through MPDK polling) and then process the data. In this way, the
uninstallation is implemented.
(cqm_main.c, cqm_main.h, cqm_db.c, cqm_db.h)

HW device:
==========

+11 −0
Original line number Diff line number Diff line
@@ -9667,6 +9667,17 @@ L: netdev@vger.kernel.org
S:	Supported
F:	Documentation/networking/hinic3.rst
F:	drivers/net/ethernet/huawei/hinic3/
F:	drivers/net/ethernet/huawei/hinic3/bond/
F:	drivers/net/ethernet/huawei/hinic3/cqm/
F:	drivers/net/ethernet/huawei/hinic3/hw/
F:	drivers/net/ethernet/huawei/hinic3/include/
HUAWEI PVRDMA DRIVER
M:	Chengbo Gu <guchengbo@huawei.com>
R:	Xiaoping zheng <zhengxiaoping5@huawei.com>
L:	linux-rdma@vger.kernel.org
S:	Supported
F:	drivers/infiniband/hw/hiroce3/
HUGETLB SUBSYSTEM
M:	Mike Kravetz <mike.kravetz@oracle.com>
+1 −0
Original line number Diff line number Diff line
@@ -6175,6 +6175,7 @@ CONFIG_MLX5_INFINIBAND=m
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
CONFIG_INFINIBAND_QEDR=m
CONFIG_HIROCE3=m
CONFIG_RDMA_RXE=m
# CONFIG_RDMA_SIW is not set
CONFIG_INFINIBAND_IPOIB=m
+1 −0
Original line number Diff line number Diff line
@@ -6854,6 +6854,7 @@ CONFIG_INFINIBAND_QEDR=m
CONFIG_INFINIBAND_USNIC=m
CONFIG_INFINIBAND_VMWARE_PVRDMA=m
CONFIG_INFINIBAND_RDMAVT=m
CONFIG_HIROCE3=m
CONFIG_RDMA_RXE=m
# CONFIG_RDMA_SIW is not set
CONFIG_INFINIBAND_IPOIB=m
+1 −0
Original line number Diff line number Diff line
@@ -95,6 +95,7 @@ source "drivers/infiniband/hw/qedr/Kconfig"
source "drivers/infiniband/hw/qib/Kconfig"
source "drivers/infiniband/hw/usnic/Kconfig"
source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
source "drivers/infiniband/hw/hiroce3/Kconfig"
source "drivers/infiniband/sw/rdmavt/Kconfig"
endif # !UML
source "drivers/infiniband/sw/rxe/Kconfig"
Loading