]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility
authorYixing Liu <liuyixing1@huawei.com>
Fri, 29 Oct 2021 10:05:37 +0000 (18:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Nov 2021 10:04:31 +0000 (11:04 +0100)
[ Upstream commit 0e60778efb072d47efc7100c4009b5bd97273b0b ]

The upper limit of MAX_LP_MSG_LEN on HIP08 is 64K, and the upper limit on
HIP09 is 16K. Regardless of whether it is HIP08 or HIP09, only 16K will be
used. In order to ensure compatibility, it is unified to 16K.

Setting MAX_LP_MSG_LEN to 16K will not cause performance loss on HIP08.

Fixes: fbed9d2be292 ("RDMA/hns: Fix configuration of ack_req_freq in QPC")
Link: https://lore.kernel.org/r/20211029100537.27299-1-liangwenpeng@huawei.com
Signed-off-by: Yixing Liu <liuyixing1@huawei.com>
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index a77732c218dcbd7d3bf6dc8387810c6be855706a..e2547e8b4d21cb8787a1951282c00a00a18e94b2 100644 (file)
@@ -4413,8 +4413,8 @@ static int modify_qp_init_to_rtr(struct ib_qp *ibqp,
        mtu = ib_mtu_enum_to_int(ib_mtu);
        if (WARN_ON(mtu <= 0))
                return -EINVAL;
-#define MAX_LP_MSG_LEN 65536
-       /* MTU * (2 ^ LP_PKTN_INI) shouldn't be bigger than 64KB */
+#define MAX_LP_MSG_LEN 16384
+       /* MTU * (2 ^ LP_PKTN_INI) shouldn't be bigger than 16KB */
        lp_pktn_ini = ilog2(MAX_LP_MSG_LEN / mtu);
        if (WARN_ON(lp_pktn_ini >= 0xF))
                return -EINVAL;