Hi Linus, The usual batch of RDMA changes, one of the smallest PRs I think possibly ever. There are two new drivers currently posted that are likely to make the next cycle. Thanks, Jason The following changes since commit 4b0986a3613c92f4ec1bdc7f60ec66fea135991f: Linux 5.18 (2022-05-22 09:52:31 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 9c477178a0a187c4718c228cc6e0692564811441: RDMA/rtrs-clt: Fix one kernel-doc comment (2022-05-26 10:54:13 -0300) ---------------------------------------------------------------- v5.19 pull request Small collection of incremental improvement patches: - Minor code cleanup patches, comment improvements, etc from static tools - Clean the some of the kernel caps, reducing the historical stealth uAPI leftovers - Bug fixes and minor changes for rdmavt, hns, rxe, irdma - Remove unimplemented cruft from rxe - Reorganize UMR QP code in mlx5 to avoid going through the IB verbs layer - flush_workqueue(system_unbound_wq) removal - Ensure rxe waits for objects to be unused before allowing the core to free them - Several rc quality bug fixes for hfi1 ---------------------------------------------------------------- Aharon Landau (12): RDMA/mlx5: Move init and cleanup of UMR to umr.c RDMA/mlx5: Move umr checks to umr.h RDMA/mlx5: Move mkey ctrl segment logic to umr.c RDMA/mlx5: Simplify get_umr_update_access_mask() RDMA/mlx5: Expose wqe posting helpers outside of wr.c RDMA/mlx5: Introduce mlx5_umr_post_send_wait() RDMA/mlx5: Use mlx5_umr_post_send_wait() to revoke MRs RDMA/mlx5: Use mlx5_umr_post_send_wait() to rereg pd access RDMA/mlx5: Move creation and free of translation tables to umr.c RDMA/mlx5: Use mlx5_umr_post_send_wait() to update MR pas RDMA/mlx5: Use mlx5_umr_post_send_wait() to update xlt RDMA/mlx5: Clean UMR QP type flow from mlx5_ib_post_send() Bernard Metzler (1): RDMA/siw: Enable siw on tunnel devices Bob Pearson (12): RDMA/rxe: Remove type 2A memory window capability RDMA/rxe: Remove mc_grp_pool from struct rxe_dev RDMA/rxe: Remove support for SMI QPs from rdma_rxe RDMA/rxe: Remove reliable datagram support RDMA/rxe: Replace paylen by payload RDMA/rxe: Remove IB_SRQ_INIT_MASK RDMA/rxe: Add rxe_srq_cleanup() RDMA/rxe: Check rxe_get() return value RDMA/rxe: Move qp cleanup code to rxe_qp_do_cleanup() RDMA/rxe: Move mr cleanup code to rxe_mr_cleanup() RDMA/rxe: Move mw cleanup code to rxe_mw_cleanup() RDMA/rxe: Enforce IBA C11-17 Chengchang Tang (1): RDMA/hns: Remove unnecessary check for the sgid_attr when modifying QP Chengguang Xu (1): RDMA/rxe: Skip adjusting remote addr for write in retry operation Christophe JAILLET (1): RDMA/rxe: Fix an error handling path in rxe_get_mcg() Daisuke Matsuda (1): RDMA/mlx5: Remove duplicate pointer assignment in mlx5_ib_alloc_implicit_mr() Dennis Dalessandro (4): RDMA/hfi1: Fix potential integer multiplication overflow errors RDMA/hfi1: Remove pointless driver version RDMA/hfi1: Consolidate software versions RDMA/hfi1: Remove all traces of diagpkt support Douglas Miller (2): RDMA/hfi1: Prevent use of lock before it is initialized RDMA/hfi1: Prevent panic when SDMA is disabled Guo Zhengkui (1): RDMA/hns: Remove unnecessary ret variable from hns_roce_dereg_mr() Guofeng Yue (1): RDMA/hns: Remove redundant variable "ret" Haoyue Xu (1): RDMA/hns: Init the variable at the suitable place Jakob Koschel (1): IB/SA: Replace usage of found with dedicated list iterator variable Jason Gunthorpe (3): RDMA: Split kernel-only global device caps from uverbs device caps Merge branch 'mlx5-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Merge tag 'v5.18' into rdma.git for-next Julia Lawall (5): IB/iser: Fix typo in comment IB/qib: Fix typo in comment IB/hf1: Fix typo in comment RDMA/core: Fix typo in comment IB/core: Fix typo in comment Leon Romanovsky (1): RDMA/mlx5: Fix flow steering egress flow Li Zhijian (1): RDMA/rxe: Remove useless parameters for update_state() Minghao Chi (1): RDMA/qedr: Remove unnecessary synchronize_irq() before free_irq() Mustafa Ismail (1): RDMA/irdma: Add SW mechanism to generate completions on error Niels Dossche (1): IB/rdmavt: add missing locks in rvt_ruc_loopback Robin Murphy (2): RDMA/usnic: Stop using iommu_present() RDMA/usnic: Refactor usnic_uiom_alloc_pd() Tetsuo Handa (3): RDMA/core: Avoid flush_workqueue(system_unbound_wq) usage IB/isert: Avoid flush_scheduled_work() usage RDMA/mlx4: Avoid flush_scheduled_work() usage Wenpeng Liang (3): RDMA/hns: Add judgment on the execution result of CMDQ that free vf resource RDMA/hns: Use hr_reg_xxx() instead of remaining roce_set_xxx() RDMA/hns: Use hr_reg_read() instead of remaining roce_get_xxx() Xiao Yang (3): IB/uverbs: Move enum ib_raw_packet_caps to uapi IB/uverbs: Move part of enum ib_device_cap_flags to uapi RDMA/rxe: Generate a completion for unsupported/invalid opcode Yang Li (1): RDMA/rtrs-clt: Fix one kernel-doc comment Yangyang Li (1): RDMA/hns: Add the detection for CMDQ status in the device initialization process Yixing Liu (2): RDMA/hns: Remove unused function to_hns_roce_state() RDMA/hns: Remove the num_cqc_timer variable Zhu Yanjun (2): RDMA/irdma: Remove the redundant variable RDMA/rxe: Optimize the mr pool struct drivers/infiniband/core/device.c | 24 +- drivers/infiniband/core/nldev.c | 2 +- drivers/infiniband/core/sa_query.c | 16 +- drivers/infiniband/core/umem_odp.c | 2 +- drivers/infiniband/core/uverbs_cmd.c | 2 +- drivers/infiniband/core/verbs.c | 8 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 1 - drivers/infiniband/hw/cxgb4/provider.c | 8 +- drivers/infiniband/hw/hfi1/common.h | 55 -- drivers/infiniband/hw/hfi1/driver.c | 6 - drivers/infiniband/hw/hfi1/efivar.c | 2 +- drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/init.c | 2 +- drivers/infiniband/hw/hfi1/sdma.c | 12 +- drivers/infiniband/hw/hfi1/verbs.c | 4 +- drivers/infiniband/hw/hns/hns_roce_device.h | 32 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 451 +++++++---------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 326 ++++-------- drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 3 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 20 - drivers/infiniband/hw/hns/hns_roce_restrack.c | 49 +- drivers/infiniband/hw/irdma/hw.c | 35 +- drivers/infiniband/hw/irdma/main.h | 1 - drivers/infiniband/hw/irdma/puda.c | 7 +- drivers/infiniband/hw/irdma/utils.c | 147 ++++++ drivers/infiniband/hw/irdma/verbs.c | 60 ++- drivers/infiniband/hw/irdma/verbs.h | 13 +- drivers/infiniband/hw/mlx4/cm.c | 29 +- drivers/infiniband/hw/mlx4/main.c | 18 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 3 + drivers/infiniband/hw/mlx5/Makefile | 1 + drivers/infiniband/hw/mlx5/fs.c | 5 - drivers/infiniband/hw/mlx5/main.c | 124 +---- drivers/infiniband/hw/mlx5/mlx5_ib.h | 89 +--- drivers/infiniband/hw/mlx5/mr.c | 421 +--------------- drivers/infiniband/hw/mlx5/odp.c | 64 ++- drivers/infiniband/hw/mlx5/qp.c | 1 + drivers/infiniband/hw/mlx5/umr.c | 700 ++++++++++++++++++++++++++ drivers/infiniband/hw/mlx5/umr.h | 97 ++++ drivers/infiniband/hw/mlx5/wr.c | 377 +++----------- drivers/infiniband/hw/mlx5/wr.h | 60 +++ drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/qedr/main.c | 1 - drivers/infiniband/hw/qedr/verbs.c | 3 +- drivers/infiniband/hw/qib/qib.h | 2 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 11 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 6 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 15 +- drivers/infiniband/hw/usnic/usnic_uiom.h | 3 +- drivers/infiniband/sw/rdmavt/qp.c | 6 +- drivers/infiniband/sw/rxe/rxe.c | 1 + drivers/infiniband/sw/rxe/rxe_comp.c | 3 +- drivers/infiniband/sw/rxe/rxe_loc.h | 17 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 6 +- drivers/infiniband/sw/rxe/rxe_mr.c | 10 +- drivers/infiniband/sw/rxe/rxe_mw.c | 65 +-- drivers/infiniband/sw/rxe/rxe_opcode.c | 2 - drivers/infiniband/sw/rxe/rxe_param.h | 2 - drivers/infiniband/sw/rxe/rxe_pool.c | 11 +- drivers/infiniband/sw/rxe/rxe_pool.h | 5 - drivers/infiniband/sw/rxe/rxe_qp.c | 36 +- drivers/infiniband/sw/rxe/rxe_recv.c | 1 - drivers/infiniband/sw/rxe/rxe_req.c | 28 +- drivers/infiniband/sw/rxe/rxe_resp.c | 8 +- drivers/infiniband/sw/rxe/rxe_srq.c | 129 +++-- drivers/infiniband/sw/rxe/rxe_verbs.c | 40 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 3 +- drivers/infiniband/sw/siw/siw_main.c | 5 +- drivers/infiniband/sw/siw/siw_verbs.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib.h | 1 + drivers/infiniband/ulp/ipoib/ipoib_main.c | 5 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 6 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +- drivers/infiniband/ulp/iser/iser_verbs.c | 8 +- drivers/infiniband/ulp/isert/ib_isert.c | 27 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 8 +- drivers/nvme/host/rdma.c | 4 +- drivers/nvme/target/rdma.c | 4 +- fs/cifs/smbdirect.c | 2 +- include/rdma/ib_verbs.h | 138 ++--- include/rdma/opa_vnic.h | 3 +- include/uapi/rdma/ib_user_verbs.h | 42 ++ net/rds/ib.c | 4 +- net/sunrpc/xprtrdma/frwr_ops.c | 2 +- 88 files changed, 1968 insertions(+), 2002 deletions(-) (diffstat from tag for-linus-merged)