[GIT PULL] Please pull RDMA subsystem changes

From: Jason Gunthorpe
Date: Wed Jun 28 2023 - 20:47:04 EST


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(-)

Attachment: signature.asc
Description: PGP signature