This series refactor qp related code, including creating, destroying qp and so on to make the processs easier to understand and maintain. Previous disscussion can be found at: https://patchwork.kernel.org/cover/11372841/ https://patchwork.kernel.org/cover/11341265/ Changes since v2: - Change some macros into static inline functions as Jason suggested. - Unify all prints into format of "Failed to xxx". - Rebase against Jason's for-next branch. Changes since v1: - Reduce the number of prints as Leon suggested. - Fix a wrong function name in description of patch 4/7. Xi Wang (7): RDMA/hns: Optimize qp destroy flow RDMA/hns: Optimize qp context create and destroy flow RDMA/hns: Optimize qp number assign flow RDMA/hns: Optimize qp buffer allocation flow RDMA/hns: Optimize qp param setup flow RDMA/hns: Optimize kernel qp wrid allocation flow RDMA/hns: Optimize qp doorbell allocation flow drivers/infiniband/hw/hns/hns_roce_device.h | 6 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 19 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 43 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 808 ++++++++++++++++------------ 4 files changed, 465 insertions(+), 411 deletions(-) -- 2.8.1