hr_reg_*() is simpler than roce_set_*(), and the field/bit can be generated automatically and accurately. This series first fix two issues on hr_reg_*(), then do the replacement. Changes since v3: * Use "val ? 1 : 0" instead of "!!val" for hr_reg_write to avoid sparse warnings. * Link: https://patchwork.kernel.org/project/linux-rdma/cover/1623915111-43630-1-git-send-email-liweihang@xxxxxxxxxx/ 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 (2): RDMA/hns: Use new interface to modify QP context RDMA/hns: Use new interface to get CQE fields Weihang Li (2): RDMA/hns: Fix sparse warnings about hr_reg_write() 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_hw_v2.c | 1110 ++++++++++------------------ drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 862 +++++++-------------- 2 files changed, 667 insertions(+), 1305 deletions(-) -- 2.7.4