RDMA/hns: Bugfix for calculation of extended sge
authorYangyang Li <liyangyang20@huawei.com>
Sat, 28 Nov 2020 10:22:38 +0000 (18:22 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 2 Dec 2020 00:58:42 +0000 (20:58 -0400)
commitd34895c319faa1e0fc1a48c3b06bba6a8a39ba44
treef4785cd3addd1937963cc1f3064cf0c8f8dbd955
parent0fd0175e30e487f8d70ecb2cdd67fbb514fdf50f
RDMA/hns: Bugfix for calculation of extended sge

Page alignment is required when setting the number of extended sge
according to the hardware's achivement. If the space of needed extended
sge is greater than one page, the roundup_pow_of_two() can ensure
that. But if the needed extended sge isn't 0 and can not be filled in a
whole page, the driver should align it specifically.

Fixes: 54d6638765b0 ("RDMA/hns: Optimize WQE buffer size calculating process")
Link: https://lore.kernel.org/r/1606558959-48510-3-git-send-email-liweihang@huawei.com
Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_qp.c