hr_reg_*() is simpler than roce_set_*(), and the field/bit can be generated automatically and accurately. Changes since v2: * Add a patch to solve the gcc warnings about PREP_FIELD() by adding a check for mtu. Therefore only the parts which fix the sparse warning is reserved in #1. * Link: https://patchwork.kernel.org/project/linux-rdma/cover/1622624265-44796-1-git-send-email-liweihang@xxxxxxxxxx/ Changes since v1: * Add a patch to fix gcc warnings about PREP_FIELD(). * Fix a typo in #5. * Link: https://patchwork.kernel.org/project/linux-rdma/cover/1622281154-49867-1-git-send-email-liweihang@xxxxxxxxxx/ Lang Cheng (3): RDMA/hns: Use temporary variables to fix warning about hr_reg_write() RDMA/hns: Use new interface to modify QP context RDMA/hns: Use new interface to get CQE fields Weihang Li (1): RDMA/hns: Add a check to ensure integer mtu is positive Xi Wang (1): RDMA/hns: Clean SRQC structure definition Yixing Liu (3): RDMA/hns: Use new interface to write CQ context. RDMA/hns: Use new interface to write FRMR fields RDMA/hns: Use new interface to write DB related fields drivers/infiniband/hw/hns/hns_roce_common.h | 3 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1078 +++++++++------------------ drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 862 +++++++-------------- 3 files changed, 651 insertions(+), 1292 deletions(-) -- 2.7.4