RDMA/hns: Use ib_umem_num_dma_blocks() instead of opencoding
authorJason Gunthorpe <jgg@nvidia.com>
Fri, 4 Sep 2020 22:41:53 +0000 (19:41 -0300)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 11 Sep 2020 13:24:54 +0000 (10:24 -0300)
commitcf9ce3c8ab803bb76504e53b0b23b542ab96ed02
tree7feb396ead05564e5481db9877a0db8095c16b81
parent84e71b4d9bd8bb5dfde6a298875d32e8ddf7f06e
RDMA/hns: Use ib_umem_num_dma_blocks() instead of opencoding

mtr_umem_page_count() does the same thing, replace it with the core code.

Also, ib_umem_find_best_pgsz() should always be called to check that the
umem meets the page_size requirement. If there is a limited set of
page_sizes that work it the pgsz_bitmap should be set to that set. 0 is a
failure and the umem cannot be used.

Lightly tidy the control flow to implement this flow properly.

Link: https://lore.kernel.org/r/12-v2-270386b7e60b+28f4-umem_1_jgg@nvidia.com
Acked-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_mr.c