[GIT PULL] Please pull RDMA subsystem changes

From: Jason Gunthorpe
Date: Fri Apr 28 2023 - 11:35:12 EST


Hi Linus,

Here is the RDMA pull request for 6.3 - as is now typical this is
mostly a whole range of unrelated changes in drivers. The few notable
series are highlighted in the tag.

Thanks,
Jason

The following changes since commit e8d018dd0257f744ca50a729e3d042cf2ec9da65:

Linux 6.3-rc3 (2023-03-19 13:27:55 -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 531094dc7164718d28ebb581d729807d7e846363:

RDMA/efa: Add rdma write capability to device caps (2023-04-21 19:18:58 -0300)

----------------------------------------------------------------
v6.4 merge window RDMA pull request

Usual wide collection of unrelated items in drivers:

- Driver bug fixes and treewide cleanups in hfi1, siw, qib, mlx5, rxe,
usnic, usnic, bnxt_re, ocrdma, iser
* Unnecessary NULL checks
* kmap obsolescence
* pci_enable_pcie_error_reporting() obsolescence
* Unused variables and macros
* trace event related warnings
* casting warnings

- Code cleanups for irdm and erdma

- EFA reporting of 128 byte PCIe TLP support

- mlx5 more agressively uses the out of order HW feature

- Big rework of how state machines and tasks work in rxe

- Fix a syzkaller found crash netdev refcount leak in siw

- bnxt_re revises their HW description header

- Congestion control for bnxt_re

- Use mmu_notifiers more safely in hfi1

- mlx5 gets better support for PCIe relaxed ordering inside VMs

----------------------------------------------------------------
Avihai Horon (4):
RDMA/mlx5: Remove pcie_relaxed_ordering_enabled() check for RO write
RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR
net/mlx5: Update relaxed ordering read HCA capabilities
RDMA/mlx5: Allow relaxed ordering read in VFs and VMs

Bjorn Helgaas (2):
IB/hfi1: Drop redundant pci_enable_pcie_error_reporting()
IB/qib: Drop redundant pci_enable_pcie_error_reporting()

Bob Pearson (18):
RDMA/rxe: Replace exists by rxe in rxe.c
RDMA/rxe: Change rxe_dbg to rxe_dbg_dev
RDMA/rxe: Extend dbg log messages to err and info
RDMA/rxe: Add error messages
RDMA/rxe: Convert tasklet args to queue pairs
RDMA/rxe: Cleanup reset state handling in rxe_resp.c
RDMA/rxe: Cleanup error state handling in rxe_comp.c
RDMA/rxe: Remove qp reference counting in tasks
RDMA/rxe: Remove __rxe_do_task()
RDMA/rxe: Make tasks schedule each other
RDMA/rxe: Rewrite rxe_task.c
RDMA/rxe: Remove tasklet call from rxe_cq.c
RDMA/rxe: Fix incorrect TASKLET_STATE_SCHED check in rxe_task.c
RDMA/rxe: Remove qp->resp.state
RDMA/rxe: Remove qp->comp.state
RDMA/rxe: Remove qp->req.state
RDMA/rxe: Move code to check if drained to subroutine
RDMA/rxe: Protect QP state with qp->state_lock

Cai Huoqing (1):
RDMA/usnic: Remove redundant pci_clear_master

Cheng Xu (4):
RDMA/erdma: Unify byte ordering APIs usage
RDMA/erdma: Eliminate unnecessary casting of EQ doorbells
RDMA/erdma: Minor refactor of device init flow
RDMA/erdma: Use fixed hardware page size

Christophe JAILLET (1):
RDMA/irdma: Slightly optimize irdma_form_ah_cm_frame()

Daisuke Matsuda (1):
RDMA/rxe: Fix spinlock recursion deadlock on requester

Dan Carpenter (1):
RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()

Daniil Dulov (1):
RDMA/siw: Fix potential page_array out of range access

Dean Luick (1):
IB/hfi1: Remove trace newlines

Ehab Ababneh (1):
IB/hfi1: Suppress useless compiler warnings

Gustavo A. R. Silva (1):
RDMA/core: Fix multiple -Warray-bounds warnings

Ira Weiny (1):
RDMA/qib: Remove deprecated kmap() call

Jason Gunthorpe (1):
RDMA: Add ib_virt_dma_to_page()

Kang Chen (1):
IB/hifi1: add a null check of kzalloc_node in hfi1_ipoib_txreq_init

Kees Cook (1):
IB/rdmavt: Fix target union member for rvt_post_one_wr()

Krzysztof Czurylo (1):
RDMA/irdma: Refactor HW statistics

Leon Romanovsky (3):
Enable IB out-of-order by default in mlx5
Merge branch 'mlx5-next' into wip/leon-for-next
RDMA/rxe: Clean kzalloc failure paths

Mark Bloch (1):
RDMA/mlx5: Fix flow counter query via DEVX

Mark Zhang (2):
RDMA/cm: Trace icm_send_rej event before the cm state is reset
RDMA/mlx5: Use correct device num_ports when modify DC

Max Gurtovoy (3):
IB/iser: remove unused macros
IB/iser: centralize setting desc type and done callback
IB/iser: remove redundant new line

Michal Swiatkowski (1):
RDMA/irdma: Change name of interrupts

Natalia Petrova (1):
RDMA/rdmavt: Delete unnecessary NULL check

Or Har-Toov (3):
net/mlx5: Expose bits for enabling out-of-order by default
RDMA/mlx5: Disable out-of-order in integrity enabled QPs
net/mlx5: Set out of order (ooo) by default

Patrick Kelsey (3):
IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
IB/hfi1: Place struct mmu_rb_handler on cache line start

Patrisious Haddad (2):
net/mlx5: Introduce other vport query for Q-counters
RDMA/mlx5: Expand switchdev Q-counters to expose representor statistics

Rohit Chavan (1):
RDMA/mlx5: Coding style fix reported by checkpatch

Saravanan Vajravel (1):
RDMA/srpt: Add a check for valid 'mad_agent' pointer

Selvin Xavier (8):
RDMA/bnxt_re: Add resize_cq support
RDMA/bnxt_re: Update HW interface headers
RDMA/bnxt_re: Remove HW queue mapping from RoCE Driver
RDMA/bnxt_re: Convert RCFW_CMD_PREP macro to static inline function
RDMA/bnxt_re: Reduce number of argumets to control path command APIs
RDMA/bnxt_re: RoCE slow path TLV support
RDAM/bnxt_re: Use tlv apis while processing the slow path commands
RDMA/bnxt_re: Enable congestion control by default

Sindhu Devale (1):
RDMA/irdma: Refactor PBLE functions

Tatyana Nikolova (1):
RDMA/irdma: Remove a redundant irdma_arp_table() call

Tejun Heo (1):
RDMA/irdma: Drop spurious WQ_UNBOUND from alloc_ordered_workqueue() call

Tetsuo Handa (1):
RDMA/siw: Remove namespace check from siw_netdev_event()

Tom Rix (4):
RDMA/bnxt_re: remove unused num_srqne_processed and num_cqne_processed variables
RDMA/ocrdma: remove unused discard_cnt variable
RDMA/mlx5: Remove unused num_alloc_xa_entries variable
IB/qib: Remove unused cnt variable

Yang Li (1):
RDMA/cma: Remove NULL check before dev_{put, hold}

Yixing Liu (1):
RDMA/hns: Add new command to support query vf caps

Yonatan Nachum (2):
RDMA/efa: Add data polling capability feature bit
RDMA/efa: Add rdma write capability to device caps

Zhu Yanjun (1):
RDMA/rxe: Fix the error "trying to register non-static key in rxe_cleanup_task"

drivers/infiniband/core/cm.c | 3 +-
drivers/infiniband/core/cma.c | 6 +-
drivers/infiniband/core/user_mad.c | 23 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 109 +
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 +
drivers/infiniband/hw/bnxt_re/main.c | 103 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 211 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 5 +
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 97 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 66 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 337 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 68 +-
drivers/infiniband/hw/bnxt_re/qplib_tlv.h | 162 +
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 7423 ++++++++++++--------
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 17 +-
drivers/infiniband/hw/efa/efa_io_defs.h | 42 +-
drivers/infiniband/hw/efa/efa_verbs.c | 11 +-
drivers/infiniband/hw/erdma/erdma.h | 2 +-
drivers/infiniband/hw/erdma/erdma_cm.h | 10 +-
drivers/infiniband/hw/erdma/erdma_cmdq.c | 42 +-
drivers/infiniband/hw/erdma/erdma_cq.c | 2 +-
drivers/infiniband/hw/erdma/erdma_eq.c | 9 +-
drivers/infiniband/hw/erdma/erdma_hw.h | 4 +
drivers/infiniband/hw/erdma/erdma_main.c | 39 +-
drivers/infiniband/hw/erdma/erdma_verbs.c | 17 +-
drivers/infiniband/hw/hfi1/chip.c | 18 +-
drivers/infiniband/hw/hfi1/driver.c | 2 +-
drivers/infiniband/hw/hfi1/file_ops.c | 2 +-
drivers/infiniband/hw/hfi1/init.c | 12 +-
drivers/infiniband/hw/hfi1/ipoib_tx.c | 6 +-
drivers/infiniband/hw/hfi1/mmu_rb.c | 84 +-
drivers/infiniband/hw/hfi1/mmu_rb.h | 22 +-
drivers/infiniband/hw/hfi1/pcie.c | 2 -
drivers/infiniband/hw/hfi1/pio.c | 2 +-
drivers/infiniband/hw/hfi1/sdma.c | 21 +-
drivers/infiniband/hw/hfi1/sdma.h | 16 +-
drivers/infiniband/hw/hfi1/sdma_txreq.h | 1 +
drivers/infiniband/hw/hfi1/trace_dbg.h | 7 +
drivers/infiniband/hw/hfi1/trace_mmu.h | 4 -
drivers/infiniband/hw/hfi1/user_sdma.c | 600 +-
drivers/infiniband/hw/hfi1/user_sdma.h | 5 -
drivers/infiniband/hw/hfi1/verbs.c | 4 +-
drivers/infiniband/hw/hfi1/vnic_sdma.c | 1 +
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 189 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 31 +-
drivers/infiniband/hw/irdma/cm.c | 2 +-
drivers/infiniband/hw/irdma/ctrl.c | 324 +-
drivers/infiniband/hw/irdma/defs.h | 9 +-
drivers/infiniband/hw/irdma/hw.c | 17 +-
drivers/infiniband/hw/irdma/i40iw_hw.c | 60 +-
drivers/infiniband/hw/irdma/icrdma_hw.c | 51 +
drivers/infiniband/hw/irdma/irdma.h | 1 +
drivers/infiniband/hw/irdma/main.h | 3 +
drivers/infiniband/hw/irdma/pble.c | 16 +-
drivers/infiniband/hw/irdma/pble.h | 2 +-
drivers/infiniband/hw/irdma/protos.h | 8 +-
drivers/infiniband/hw/irdma/type.h | 166 +-
drivers/infiniband/hw/irdma/utils.c | 172 +-
drivers/infiniband/hw/irdma/verbs.c | 200 +-
drivers/infiniband/hw/mlx4/qp.c | 8 +-
drivers/infiniband/hw/mlx5/counters.c | 171 +-
drivers/infiniband/hw/mlx5/devx.c | 33 +-
drivers/infiniband/hw/mlx5/mr.c | 12 +-
drivers/infiniband/hw/mlx5/qp.c | 19 +-
drivers/infiniband/hw/mlx5/umr.c | 7 +-
drivers/infiniband/hw/mlx5/umr.h | 3 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 -
drivers/infiniband/hw/qib/qib_file_ops.c | 9 +-
drivers/infiniband/hw/qib/qib_pcie.c | 8 -
drivers/infiniband/hw/qib/qib_user_sdma.c | 11 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 2 -
drivers/infiniband/sw/rdmavt/qp.c | 4 +-
drivers/infiniband/sw/rxe/rxe.c | 16 +-
drivers/infiniband/sw/rxe/rxe.h | 46 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 161 +-
drivers/infiniband/sw/rxe/rxe_cq.c | 39 +-
drivers/infiniband/sw/rxe/rxe_icrc.c | 4 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 7 +-
drivers/infiniband/sw/rxe/rxe_mmap.c | 6 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 29 +-
drivers/infiniband/sw/rxe/rxe_net.c | 11 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 263 +-
drivers/infiniband/sw/rxe/rxe_queue.c | 5 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 15 +-
drivers/infiniband/sw/rxe/rxe_req.c | 104 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 126 +-
drivers/infiniband/sw/rxe/rxe_srq.c | 6 +-
drivers/infiniband/sw/rxe/rxe_task.c | 268 +-
drivers/infiniband/sw/rxe/rxe_task.h | 23 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 983 ++-
drivers/infiniband/sw/rxe/rxe_verbs.h | 14 -
drivers/infiniband/sw/siw/siw_main.c | 3 -
drivers/infiniband/sw/siw/siw_qp_rx.c | 6 +-
drivers/infiniband/sw/siw/siw_qp_tx.c | 21 +-
drivers/infiniband/sw/siw/siw_verbs.c | 4 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 17 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 6 -
drivers/infiniband/ulp/srpt/ib_srpt.c | 23 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 81 +
.../net/ethernet/mellanox/mlx5/core/en/params.c | 3 +-
.../net/ethernet/mellanox/mlx5/core/en_common.c | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/main.c | 3 +
include/linux/mlx5/mlx5_ifc.h | 31 +-
include/rdma/ib_verbs.h | 25 +
include/uapi/rdma/bnxt_re-abi.h | 4 +
include/uapi/rdma/efa-abi.h | 4 +-
106 files changed, 8007 insertions(+), 5519 deletions(-)
create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_tlv.h

Attachment: signature.asc
Description: PGP signature