OpenCloudOS-Kernel/drivers/infiniband/hw/hns
Luoyouming 522e5e4770 RDMA/hns: Fix mis-modifying default congestion control algorithm
[ Upstream commit d20a7cf9f714f0763efb56f0f2eeca1cb91315ed ]

Commit 27c5fd271d8b ("RDMA/hns: The UD mode can only be configured
with DCQCN") adds a check of congest control alorithm for UD. But
that patch causes a problem: hr_dev->caps.congest_type is global,
used by all QPs, so modifying this field to DCQCN for UD QPs causes
other QPs unable to use any other algorithm except DCQCN.

Revert the modification in commit 27c5fd271d8b ("RDMA/hns: The UD
mode can only be configured with DCQCN"). Add a new field cong_type
to struct hns_roce_qp and configure DCQCN for UD QPs.

Fixes: 27c5fd271d8b ("RDMA/hns: The UD mode can only be configured with DCQCN")
Fixes: f91696f2f0 ("RDMA/hns: Support congestion control type selection according to the FW")
Signed-off-by: Luoyouming <luoyouming@huawei.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Link: https://lore.kernel.org/r/20240219061805.668170-1-huangjunxian6@hisilicon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:20:01 -04:00
..
Kconfig RDMA/hns: Remove support for HIP06 2022-01-05 15:50:56 -04:00
Makefile RDMA/hns: Remove redundant DFX file and DFX ops structure 2022-08-23 11:34:42 +03:00
hns_roce_ah.c RDMA/hns: Add check for SL 2023-11-20 11:59:21 +01:00
hns_roce_alloc.c RDMA/hns: Remove support for HIP06 2022-01-05 15:50:56 -04:00
hns_roce_cmd.c RDMA/hns: Remove similar code that configures the hardware contexts 2022-03-04 17:36:31 -04:00
hns_roce_cmd.h RDMA/hns: Remove similar code that configures the hardware contexts 2022-03-04 17:36:31 -04:00
hns_roce_common.h RDMA/hns: Remove support for HIP06 2022-01-05 15:50:56 -04:00
hns_roce_cq.c RDMA/hns: Unified Log Printing Style 2022-09-27 10:15:25 -03:00
hns_roce_db.c RDMA/hns: Remove support for HIP06 2022-01-05 15:50:56 -04:00
hns_roce_device.h RDMA/hns: Fix mis-modifying default congestion control algorithm 2024-03-26 18:20:01 -04:00
hns_roce_hem.c RDMA: Remove unnecessary ternary operators 2023-07-31 15:16:12 +03:00
hns_roce_hem.h RDMA/hns: Remove redundant 'phy_addr' in hns_roce_hem_list_find_mtt() 2022-09-27 10:15:25 -03:00
hns_roce_hw_v2.c RDMA/hns: Fix mis-modifying default congestion control algorithm 2024-03-26 18:20:01 -04:00
hns_roce_hw_v2.h RDMA/hns: Support hns HW stats 2023-08-19 14:26:34 +03:00
hns_roce_main.c RDMA/hns: Fix init failure of RoCE VF and HIP08 2023-11-20 11:59:21 +01:00
hns_roce_mr.c RDMA/hns: Fix base address table allocation 2023-05-17 16:05:00 -03:00
hns_roce_pd.c RDMA/hns: Fix inappropriate err code for unsupported operations 2024-01-25 15:35:31 -08:00
hns_roce_qp.c RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common() 2023-11-20 11:59:21 +01:00
hns_roce_restrack.c RDMA/hns: Dump whole QP/CQ/MR resource in raw 2023-08-19 14:26:08 +03:00
hns_roce_srq.c RDMA/hns: Refactor the alloc_srqc() 2022-03-04 17:36:32 -04:00