hr_reg_*() is simpler than roce_set_*(), and the field/bit can be generated automatically and accurately. This series first fixes two issues on hr_reg_*(), then introduces hr_reg_write_bool() for 1 bit-width field, does the replacement at last. Changes since v4: * Change the way to fix the sparse warning, we introduce hr_reg_write_bool() for 1 bit-width field. * Link: https://patchwork.kernel.org/project/linux-rdma/cover/1624010765-1029-1-git-send-email-liweihang@xxxxxxxxxx/ 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 (3): RDMA/hns: Add hr_reg_write_bool() 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 when calling 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_common.h | 8 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1124 ++++++++++----------------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 862 +++++++------------- 3 files changed, 679 insertions(+), 1315 deletions(-) -- 2.7.4