Patch #1 and #2 aim to use MTR interfaces for PBL buffer instead of MTT, and after this, MTT can be removed completely. Patch #3 and #5 refactor buffer size calculation process for WQE and SRQ. #4 can be considered as a preparation for #5, which just moves code of SRQ together to a more suitable place. This series looks huge, but most of the modification is to replace and remove old interfaces, and patch #4 also contribute a lot. Actually, the original logic is not changed so much. Changes since v3: - Fix a sparce warning about a function that should be static reported by kbuild test robot. Changes since v2: - Just do a rebase to current for-next branch. Changes since v1: - Remove meaningless judgment of count in some inline functions in #3. - Add more information into commit messages of #3 and #5. Xi Wang (4): RDMA/hns: Optimize PBL buffer allocation process RDMA/hns: Remove unused MTT functions RDMA/hns: Optimize WQE buffer size calculating process RDMA/hns: Optimize SRQ buffer size calculating process Yixian Liu (1): RDMA/hns: Move SRQ code to the reasonable place drivers/infiniband/hw/hns/hns_roce_alloc.c | 43 - drivers/infiniband/hw/hns/hns_roce_device.h | 110 +-- drivers/infiniband/hw/hns/hns_roce_hem.c | 105 --- drivers/infiniband/hw/hns/hns_roce_hem.h | 6 - drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 45 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 943 ++++++++++---------- drivers/infiniband/hw/hns/hns_roce_main.c | 70 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 1247 +++------------------------ drivers/infiniband/hw/hns/hns_roce_qp.c | 313 +++---- drivers/infiniband/hw/hns/hns_roce_srq.c | 16 +- 10 files changed, 767 insertions(+), 2131 deletions(-) -- 2.8.1