Hi Linus, Here are the changes for RDMA for this cycle, there was a small rxe conflict with v6.4 that I resolved in the usual way. Thanks, Jason The following changes since commit 6995e2de6891c724bfeb2db33d7b87775f913ad1: Linux 6.4 (2023-06-25 16:29:58 -0700) 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 5f004bcaee4cb552cf1b46a505f18f08777db7e5: Merge tag 'v6.4' into rdma.git for-next (2023-06-27 14:06:29 -0300) ---------------------------------------------------------------- v6.5 merge window RDMA pull request This cycle saw a focus on rxe and bnxt_re drivers: - Code cleanups for irdma, rxe, rtrs, hns, vmw_pvrdma - rxe uses workqueues instead of tasklets - rxe has better compliance around access checks for MRs and rereg_mr - mana supportst he 'v2' FW interface for RX coalescing - hfi1 bug fix for stale cache entries in its MR cache - mlx5 buf fix to handle FW failures when destroying QPs - erdma HW has a new doorbell allocation mechanism for uverbs that is secure - Lots of small cleanups and rework in bnxt_re * Use the common mmap functions * Support disassociation * Improve FW command flow - bnxt_re support for "low latency push", this allows a packet ---------------------------------------------------------------- Arnd Bergmann (1): RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes Bob Pearson (10): RDMA/rxe: Add workqueue support for rxe tasks RDMA/rxe: Rename IB_ACCESS_REMOTE RDMA//rxe: Optimize send path in rxe_resp.c RDMA/rxe: Fix access checks in rxe_check_bind_mw RDMA/rxe: Introduce rxe access supported flags RDMA/rxe: Let rkey == lkey for local access RDMA/rxe: Implement rereg_user_mr RDMA/rxe: Send last wqe reached event on qp cleanup RDMA/rxe: Fixes mr access supported list RDMA/rxe: Simplify cq->notify code Brendan Cunningham (3): IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate IB/hfi1: Add mmu_rb_node refcount to hfi1_mmu_rb_template tracepoints IB/hfi1: Remove unused struct mmu_rb_ops fields .insert, .invalidate Bryan Tan (1): RDMA/vmw_pvrdma: Remove unnecessary check on wr->opcode Cheng Xu (4): RDMA/erdma: Configure PAGE_SIZE to hardware RDMA/erdma: Allocate doorbell resources from hardware RDMA/erdma: Associate QPs/CQs with doorbells for authorization RDMA/erdma: Refactor the original doorbell allocation mechanism Chengchang Tang (2): RDMA/hns: Fix hns_roce_table_get return value RDMA/hns: Add clear_hem return value to log Colin Ian King (1): RDMA/bnxt_re: Fix spelling mistake "priviledged" -> "privileged" Daisuke Matsuda (1): RDMA/rxe: Fix comments about removed tasklets Dan Carpenter (1): RDMA/bnxt_re: Fix an IS_ERR() vs NULL check Jason Gunthorpe (1): Merge tag 'v6.4' into rdma.git for-next Junxian Huang (1): RDMA/hns: Remove unnecessary QP type checks Kalesh AP (6): RDMA/bnxt_re: Fix to remove unnecessary return labels RDMA/bnxt_re: Use unique names while registering interrupts RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid RDMA/bnxt_re: Fix to remove an unnecessary log RDMA/bnxt_re: Return directly without goto jumps RDMA/bnxt_re: Remove unnecessary checks Kamal Heib (3): RDMA/irdma: Return void from irdma_init_iw_device() RDMA/irdma: Return void from irdma_init_rdma_device() RDMA/irdma: Move iw device ops initialization Kashyap Desai (19): RDMA/bnxt_re: wraparound mbox producer index RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context RDMA/bnxt_re: remove virt_func check while creating RoCE FW channel RDMA/bnxt_re: set fixed command queue depth RDMA/bnxt_re: Enhance the existing functions that wait for FW responses RDMA/bnxt_re: Avoid the command wait if firmware is inactive RDMA/bnxt_re: use shadow qd while posting non blocking rcfw command RDMA/bnxt_re: Simplify the function that sends the FW commands RDMA/bnxt_re: add helper function __poll_for_resp RDMA/bnxt_re: handle command completions after driver detect a timedout RDMA/bnxt_re: Add firmware stall check detection RDMA/bnxt_re: post destroy_ah for delayed completion of AH creation RDMA/bnxt_re: consider timeout of destroy ah as success. RDMA/bnxt_re: cancel all control path command waiters upon error RDMA/bnxt_re: use firmware provided max request timeout RDMA/bnxt_re: remove redundant cmdq_bitmap RDMA/bnxt_re: optimize the parameters passed to helper functions RDMA/bnxt_re: Remove incorrect return check from slow path RDMA/bnxt_re: Refactor code around bnxt_qplib_map_rc() Leon Romanovsky (2): RDMA/mlx5: Reduce QP table exposure RDMA/bnxt_re: Initialize opcode while sending message Li Zhijian (1): RDMA/rtrs: Remove duplicate cq_num assignment Long Li (1): RDMA/mana_ib: Use v2 version of cfg_rx_steer_req to enable RX coalescing Nicolas Morey (1): RDMA/rxe: Remove dangling declaration of rxe_cq_disable() Patrisious Haddad (3): net/mlx5: Nullify qp->dbg pointer post destruction RDMA/mlx5: Handle DCT QP logic separately from low level QP interface RDMA/mlx5: Return the firmware result upon destroying QP/RQ Selvin Xavier (8): RDMA/bnxt_re: Disable/kill tasklet only if it is enabled RDMA/bnxt_re: Use the common mmap helper functions RDMA/bnxt_re: Add disassociate ucontext support RDMA/bnxt_re: Optimize the bnxt_re_init_hwrm_hdr usage RDMA/bnxt_re: Query function capabilities from firmware RDMA/bnxt_re: Move the interface version to chip context structure RDMA/bnxt_re: Reorg the bar mapping RDMA/bnxt_re: Enable low latency push Yang Li (2): RDMA/cma: Remove NULL check before dev_{put, hold} RDMA/bnxt_re: Remove duplicated include in bnxt_re/main.c drivers/infiniband/core/cma.c | 3 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 5 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 292 +++++++++- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 19 + drivers/infiniband/hw/bnxt_re/main.c | 192 +++++-- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 104 ++-- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 664 +++++++++++++++++----- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 52 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 177 ++++-- drivers/infiniband/hw/bnxt_re/qplib_res.h | 34 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 19 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 5 +- drivers/infiniband/hw/erdma/erdma.h | 16 +- drivers/infiniband/hw/erdma/erdma_hw.h | 64 ++- drivers/infiniband/hw/erdma/erdma_main.c | 53 +- drivers/infiniband/hw/erdma/erdma_verbs.c | 178 +++--- drivers/infiniband/hw/erdma/erdma_verbs.h | 13 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 4 +- drivers/infiniband/hw/hfi1/mmu_rb.c | 108 ++-- drivers/infiniband/hw/hfi1/mmu_rb.h | 10 +- drivers/infiniband/hw/hfi1/sdma.c | 23 +- drivers/infiniband/hw/hfi1/sdma.h | 47 +- drivers/infiniband/hw/hfi1/sdma_txreq.h | 2 + drivers/infiniband/hw/hfi1/trace_mmu.h | 48 +- drivers/infiniband/hw/hfi1/user_sdma.c | 137 ++--- drivers/infiniband/hw/hfi1/user_sdma.h | 1 - drivers/infiniband/hw/hfi1/vnic_sdma.c | 4 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 51 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 24 +- drivers/infiniband/hw/irdma/uk.c | 10 +- drivers/infiniband/hw/irdma/verbs.c | 41 +- drivers/infiniband/hw/mana/qp.c | 5 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/qp.h | 12 +- drivers/infiniband/hw/mlx5/qpc.c | 93 +-- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 8 - drivers/infiniband/sw/rxe/rxe.c | 9 +- drivers/infiniband/sw/rxe/rxe_comp.c | 2 +- drivers/infiniband/sw/rxe/rxe_cq.c | 5 +- drivers/infiniband/sw/rxe/rxe_loc.h | 2 - drivers/infiniband/sw/rxe/rxe_mr.c | 21 +- drivers/infiniband/sw/rxe/rxe_mw.c | 22 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 3 + drivers/infiniband/sw/rxe/rxe_param.h | 2 +- drivers/infiniband/sw/rxe/rxe_qp.c | 7 + drivers/infiniband/sw/rxe/rxe_req.c | 2 +- drivers/infiniband/sw/rxe/rxe_resp.c | 25 +- drivers/infiniband/sw/rxe/rxe_task.c | 110 ++-- drivers/infiniband/sw/rxe/rxe_task.h | 6 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 45 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 21 + drivers/infiniband/ulp/rtrs/rtrs-clt.c | 1 - drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 6 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 5 +- include/linux/mlx5/driver.h | 10 - include/net/mana/mana.h | 4 +- include/uapi/rdma/bnxt_re-abi.h | 27 + 58 files changed, 1955 insertions(+), 901 deletions(-)