Hi Linus, These are the proposed RDMA patches for 5.14. This PR has a very huge diffstat due to finally merging the replacement Intel RDMA driver. I first heard about this project at LPC 2018, which means it took about three years to do this (and at least 10 postings). The new driver is in many ways a rewrite of the old driver and continues to support the old hardware but is now structured to support the new Intel HW as well. Normally a rip and replace shouldn't be done, but Intel believed that this was necessary and have been shipping it already for several years out of tree. There will be some followup patches for this next cycle(s) as several difficult features were not included. Hopefully the several weeks in linux-next cleaned out most of the static checker detections. Otherwise the rest of the PR is fairly typical for RDMA, cleanups and driver changes with HNS leading the pack this time. Thanks, Jason The following changes since commit 13311e74253fe64329390df80bed3f07314ddd61: Linux 5.13-rc7 (2021-06-20 15:03:15 -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 3d8287544223a3d2f37981c1f9ffd94d0b5e9ffc: RDMA/core: Always release restrack object (2021-06-29 19:57:18 -0300) ---------------------------------------------------------------- RDMA v5.14 merge window Pull Request This PR contains a replacement driver for Intel iWarp hardware. This new driver supports the old ethernet hardware and also newer chips that can do ROCE. Otherwise this contains the typical mix of patches: - Driver updates and cleanups for bnxt_re, cxgb4, mlx4, and mlx5 - Many static checker driven code clean ups, including a wide refcount_t conversion - Several series for the hns driver, more HIP09 HW capabilities, migration to new HW register manipulators, and code cleanups - Minor fixes and improvements in srp, rts, and cm - Improvements throughout for sysfs related code to use DEVICE_ATTR_*, make the ib_port sysfs first-class, and overall use sysfs APIs properly - Intel's new irdma driver replacing i40iw - rxe general clean ups and Memory Window support ---------------------------------------------------------------- Aharon Landau (2): RDMA/mlx5: Refactor get_ts_format functions to simplify code RDMA/mlx5: Support real-time timestamp directly from the device Anand Khoje (2): IB/core: Removed port validity check from ib_get_cached_subnet_prefix IB/core: Shuffle locks in ib_port_data to save memory Avihai Horon (1): RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs Baokun Li (1): RDMA/irdma: Use list_move instead of list_del/list_add Bart Van Assche (5): IB/hfi1: Move a function from a header file into a .c file RDMA/srp: Add more structure size checks RDMA/srp: Apply the __packed attribute to members instead of structures RDMA/srp: Fix a recently introduced memory leak RDMA/srp: Make struct scsi_cmnd and struct srp_request adjacent Bob Pearson (20): RDMA/rxe: Add a type flag to rxe_queue structs RDMA/rxe: Protect user space index loads/stores RDMA/rxe: Protext kernel index from user space RDMA/rxe: Fix qp reference counting for atomic ops RDMA/rxe: Add bind MW fields to rxe_send_wr RDMA/rxe: Return errors for add index and key RDMA/rxe: Enable MW object pool RDMA/rxe: Add ib_alloc_mw and ib_dealloc_mw verbs RDMA/rxe: Replace WR_REG_MASK by WR_LOCAL_OP_MASK RDMA/rxe: Move local ops to subroutine RDMA/rxe: Add support for bind MW work requests RDMA/rxe: Implement invalidate MW operations RDMA/rxe: Implement memory access through MWs RDMA/rxe: Disallow MR dereg and invalidate when bound RDMA/rxe: Fix useless copy in send_atomic_ack RDMA/rxe: Fix redundant call to ip_send_check RDMA/rxe: Fix extra copies in build_rdma_network_hdr RDMA/rxe: Fix over copying in get_srq_wqe RDMA/rxe: Fix extra copy in prepare_ack_packet RDMA/rxe: Fix redundant skb_put_zero Colin Ian King (5): RDMA/irdma: Fix issues with u8 left shift operation RDMA/irdma: remove extraneous indentation on a statement RDMA/irdma: remove redundant initialization of variable val RDMA/irdma: Fix spelling mistake "Allocal" -> "Allocate" RDMA/bnxt_re: Fix uninitialized struct bit field rsvd1 Dan Carpenter (1): RDMA/rxe: Missing unlock on error in get_srq_wqe() Devesh Sharma (3): RDMA/bnxt_re: Enable global atomic ops if platform supports RDMA/bnxt_re: Update maintainers list RDMA/bnxt_re: Update ABI to pass wqe-mode to user space Dima Stepanov (1): RDMA/rtrs: Use strscpy instead of strlcpy Gerd Rausch (1): RDMA/cma: Fix rdma_resolve_route() memory leak Gioh Kim (7): RDMA/rtrs-clt: Remove MAX_SESS_QUEUE_DEPTH from rtrs_send_sess_info RDMA/rtrs: Change MAX_SESS_QUEUE_DEPTH RDMA/rtrs: Define MIN_CHUNK_SIZE RDMA/rtrs: Do not reset hb_missed_max after re-connection RDMA/rtrs-srv: Duplicated session name is not allowed RDMA/rtrs-srv: Fix memory leak of unfreed rtrs_srv_stats object RDMA/rtrs-clt: Fix memory leak of not-freed sess->stats and stats->pcpu_stats Guenter Roeck (1): RDMA/bnxt_re: Drop unnecessary NULL checks after container_of Guoqing Jiang (7): RDMA/rtrs-srv: Kill reject_w_econnreset label RDMA/rtrs-srv: Clean up the code in __rtrs_srv_change_state RDMA/rtrs-clt: Kill rtrs_clt_{start,stop}_hb RDMA/rtrs-clt: Kill rtrs_clt_disconnect_from_sysfs RDMA/rtrs-srv: Kill __rtrs_srv_change_state RDMA/rtrs-clt: Remove redundant 'break' RDMA/rtrs: Rename cq_size/queue_size to cq_num/queue_num Håkon Bugge (5): IB/core: Only update PKEY and GID caches on respective events RDMA/cma: Remove unnecessary INIT->INIT transition RDMA/cma: Protect RMW with qp_mutex RDMA/cma: Fix incorrect Packet Lifetime calculation RDMA/core/sa_query: Remove unused argument Ira Weiny (2): RDMA/irdma: Remove use of kmap() RDMA/hfi1: Remove use of kmap() Jack Wang (11): RDMA/rtrs-srv: convert scnprintf to sysfs_emit RDMA/rtrs-srv: Fix memory leak when having multiple sessions RDMA/rtrs: Avoid Wtautological-constant-out-of-range-compare RDMA/rtrs-srv: Set minimal max_send_wr and max_recv_wr RDMA/rtrs-clt: Use minimal max_send_sge when create qp RDMA/rtrs: Check device max_qp_wr limit when create QP RDMA/rtrs: Introduce head/tail wr RDMA/rtrs-clt: Write path fast memory registration RDMA/rtrs_clt: Alloc less memory with write path fast memory registration RDMA/rtrs-clt: Raise MAX_SEGMENTS rnbd/rtrs-clt: Query and use max_segments from rtrs-clt. Jason Gunthorpe (24): IB/cm: Pair cm_alloc_response_msg() with a cm_free_response_msg() IB/cm: Split cm_alloc_msg() IB/cm: Call the correct message free functions in cm_send_handler() IB/cm: Tidy remaining cm_msg free paths Merge branch 'irdma' into rdma.git for-next RDMA/core: Remove refcount from struct ib_mad_snoop_private IB/cm: Remove dgid from the cm_id_priv av RDMA: Split the alloc_hw_stats() ops to port and device variants RDMA/core: Replace the ib_port_data hw_stats pointers with a ib_port pointer RDMA/core: Split port and device counter sysfs attributes RDMA/core: Split gid_attrs related sysfs from add_port() RDMA/core: Simplify how the gid_attrs sysfs is created RDMA/core: Simplify how the port sysfs is created RDMA/core: Create the device hw_counters through the normal groups mechanism RDMA/core: Remove the kobject_uevent() NOP RDMA/core: Expose the ib port sysfs attribute machinery RDMA/cm: Use an attribute_group on the ib_port_attribute intead of kobj's RDMA/qib: Use attributes for the port sysfs RDMA/hfi1: Use attributes for the port sysfs RDMA: Change ops->init_port to ops->port_groups RDMA/core: Allow port_groups to be used with namespaces RDMA: Remove rdma_set_device_sysfs_group() Merge tag 'v5.13-rc7' into rdma.git for-next Merge branch 'mlx5_realtime_ts' into rdma.git for-next Jiapeng Chong (1): RDMA/cxgb4: Fix missing error code in create_qp() Kamal Heib (3): RDMA/rxe: Fix failure during driver load RDMA/irdma: Fix return error sign from irdma_modify_qp RDMA/irdma: Use the queried port attributes Kees Cook (2): IB/mlx4: Avoid field-overflowing memcpy() RDMA/core: Use flexible array for mad data Lang Cheng (13): RDMA/hns: Remove unused parameter udata RDMA/mlx4: Remove unused parameter udata RDMA/mlx5: Remove unused parameter udata RDMA/rxe: Remove unused parameter udata RDMA/hns: Rename CMDQ head/tail pointer to PI/CI RDMA/hns: Remove Receive Queue of CMDQ RDMA/hns: Remove unused CMDQ member 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 RDMA/hns: Force rewrite inline flag of WQE RDMA/hns: Fix spelling mistakes of original RDMA/hns: Add vendor_err info to error WC Leon Romanovsky (6): RDMA/core: Remove never used ib_modify_wq function call RDMA/core: Sanitize WQ state received from the userspace RDMA/mlx5: Don't add slave port to unaffiliated list RDMA: Fix kernel-doc warnings about wrong comment RDMA/mlx5: Don't access NULL-cleared mpi pointer RDMA/core: Always release restrack object Maor Gottlieb (1): RDMA/mlx5: Take qp type from mlx5_ib_qp Mark Zhang (4): Revert "IB/cm: Mark stale CM id's whenever the mad agent was unregistered" IB/cm: Simplify ib_cancel_mad() and ib_modify_mad() calls IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path IB/cm: Protect cm_dev, cm_ports and mad_agent with kref and lock Max Gurtovoy (2): IB/isert: set rdma cm afonly flag IB/isert: Align target max I/O size to initiator size Md Haris Iqbal (5): RDMA/rtrs-srv: Add error messages for cases when failing RDMA connection RDMA/rtrs-clt: Check state of the rtrs_clt_sess before reading its stats RDMA/rtrs-srv: Replace atomic_t with percpu_ref for ids_inflight RDMA/rtrs-clt: Check if the queue_depth has changed during a reconnection RDMA/rtrs: RDMA_RXE requires more number of WR Michael J. Ruhl (1): RDMA/irdma: Add dynamic tracing for CM Mustafa Ismail (13): RDMA/irdma: Register auxiliary driver and implement private channel OPs RDMA/irdma: Implement device initialization definitions RDMA/irdma: Implement HW Admin Queue OPs RDMA/irdma: Add HMC backing store setup functions RDMA/irdma: Add privileged UDA queue implementation RDMA/irdma: Add QoS definitions RDMA/irdma: Add connection manager RDMA/irdma: Add PBLE resource manager RDMA/irdma: Implement device supported verb APIs RDMA/irdma: Add RoCEv2 UD OP support RDMA/irdma: Add user/kernel shared libraries RDMA/irdma: Add miscellaneous utility definitions RDMA/irdma: Add ABI definitions Selvin Xavier (1): MAINTAINERS: Update Broadcom RDMA maintainers Sergey Gorenko (2): RDMA/mlx5: Support SQD2RTS for modify QP RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response Shaokun Zhang (1): IB/hfi1: Remove the repeated declaration Shiraz Saleem (7): RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw RDMA/irdma: Update MAINTAINERS file RDMA/irdma: Use list_last_entry/list_first_entry RDMA/irdma: Store PBL info address a pointer type RDMA/irdma: Check return value from ib_umem_find_best_pgsz RDMA/irdma: Check contents of user-space irdma_mem_reg_req object RDMA/irdma: Fix potential overflow expression in irdma_prm_get_pbles Tian Tao (1): RDMA/cxgb4: Remove useless assignments Wan Jiabing (1): RDMA: Remove unnecessary struct declaration Weihang Li (14): RDMA/hns: Use refcount_t APIs for HEM RDMA/core: Use refcount_t instead of atomic_t on refcount of iwcm_id_private RDMA/core: Use refcount_t instead of atomic_t on refcount of iwpm_admin_data RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_member RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_port RDMA/hns: Use refcount_t instead of atomic_t for CQ reference counting RDMA/hns: Use refcount_t instead of atomic_t for SRQ reference counting RDMA/hns: Use refcount_t instead of atomic_t for QP reference counting RDMA/cxgb4: Use refcount_t instead of atomic_t for reference counting RDMA/ipoib: Use refcount_t instead of atomic_t for reference counting RDMA/core: Use refcount_t instead of atomic_t on refcount of ib_uverbs_device RDMA/hns: Do not use !! for values that are already bool when calling hr_reg_write() RDMA/hns: Add a check to ensure integer mtu is positive RDMA/hns: Fix incorrect vlan enable bit in QPC Wenpeng Liang (2): RDMA/core: Fix incorrect print format specifier RDMA/hns: Encapsulate flushing CQE as a function Xi Wang (10): RDMA/hns: Refactor extend link table allocation RDMA/hns: Optimize the base address table config for MTR RDMA/hns: Refactor root BT allocation for MTR RDMA/hns: Fix wrong timer context buffer page size RDMA/hns: Clean the hardware related code for HEM RDMA/hns: Refactor capability configuration flow of VF RDMA/hns: Support getting max QP number from firmware RDMA/hns: Clear extended doorbell info before using RDMA/hns: Clean SRQC structure definition RDMA/hns: Clean definitions of EQC structure Xiao Yang (1): RDMA/rxe: Don't overwrite errno from ib_umem_get() Xiaofei Tan (1): RDMA/ucma: Cleanup to reduce duplicate code Yang Li (2): RDMA/mlx5: Remove redundant assignment to ret IB/srpt: Remove redundant assignment to ret Yangyang Li (9): RDMA/hns: Remove the unused hns_roce_bitmap_alloc_range function RDMA/hns: Remove the unused hns_roce_bitmap_free_range function RDMA/hns: Remove unused RR mechanism RDMA/hns: Use IDA interface to manage mtpt index RDMA/hns: Use IDA interface to manage pd index RDMA/hns: Use IDA interface to manage xrcd index RDMA/hns: Add member assignments for qp_init_attr RDMA/hns: Delete unnecessary branch of hns_roce_v2_query_qp RDMA/hns: Modify function return value type Yixian Liu (1): RDMA/hns: Remove the condition of light load for posting DWQE Yixing Liu (7): 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 RDMA/hns: Fix uninitialized variable RDMA/hns: Fix some print issues RDMA/hns: Simplify the judgment in hns_roce_v2_post_send() RDMA/hns: Add window selection field of congestion control YueHaibing (3): IB/ipoib: Use DEVICE_ATTR_*() macros RDMA/core: Use the DEVICE_ATTR_RO macro RDMA/srp: Use DEVICE_ATTR_*() macros Zhen Lei (1): IB/hfi1: Delete an unneeded bool conversion Documentation/ABI/stable/sysfs-class-infiniband | 20 - MAINTAINERS | 20 +- drivers/block/rnbd/rnbd-clt.c | 5 +- drivers/block/rnbd/rnbd-clt.h | 5 +- drivers/infiniband/Kconfig | 2 +- drivers/infiniband/core/cache.c | 40 +- drivers/infiniband/core/cm.c | 863 ++- drivers/infiniband/core/cma.c | 48 +- drivers/infiniband/core/core_priv.h | 15 +- drivers/infiniband/core/counters.c | 4 +- drivers/infiniband/core/device.c | 41 +- drivers/infiniband/core/iwcm.c | 9 +- drivers/infiniband/core/iwcm.h | 2 +- drivers/infiniband/core/iwpm_msg.c | 22 +- drivers/infiniband/core/iwpm_util.c | 16 +- drivers/infiniband/core/iwpm_util.h | 4 +- drivers/infiniband/core/mad.c | 27 +- drivers/infiniband/core/mad_priv.h | 1 - drivers/infiniband/core/multicast.c | 20 +- drivers/infiniband/core/netlink.c | 2 +- drivers/infiniband/core/nldev.c | 10 +- drivers/infiniband/core/roce_gid_mgmt.c | 5 +- drivers/infiniband/core/rw.c | 8 +- drivers/infiniband/core/sa_query.c | 10 +- drivers/infiniband/core/security.c | 9 +- drivers/infiniband/core/sysfs.c | 1110 ++-- drivers/infiniband/core/ucma.c | 11 +- drivers/infiniband/core/ud_header.c | 8 +- drivers/infiniband/core/umem_odp.c | 2 +- drivers/infiniband/core/user_mad.c | 4 +- drivers/infiniband/core/uverbs.h | 2 +- drivers/infiniband/core/uverbs_cmd.c | 23 +- drivers/infiniband/core/uverbs_main.c | 12 +- drivers/infiniband/core/uverbs_uapi.c | 2 +- drivers/infiniband/core/verbs.c | 23 +- drivers/infiniband/hw/Makefile | 2 +- drivers/infiniband/hw/bnxt_re/hw_counters.c | 7 +- drivers/infiniband/hw/bnxt_re/hw_counters.h | 4 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 30 +- drivers/infiniband/hw/bnxt_re/main.c | 19 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 + drivers/infiniband/hw/bnxt_re/qplib_res.c | 17 + drivers/infiniband/hw/bnxt_re/qplib_res.h | 7 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 13 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 - drivers/infiniband/hw/cxgb4/cq.c | 6 +- drivers/infiniband/hw/cxgb4/ev.c | 8 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 +- drivers/infiniband/hw/cxgb4/provider.c | 11 +- drivers/infiniband/hw/cxgb4/qp.c | 2 +- drivers/infiniband/hw/efa/efa.h | 3 +- drivers/infiniband/hw/efa/efa_main.c | 3 +- drivers/infiniband/hw/efa/efa_verbs.c | 11 +- drivers/infiniband/hw/hfi1/chip.c | 4 +- drivers/infiniband/hw/hfi1/file_ops.c | 6 +- drivers/infiniband/hw/hfi1/hfi.h | 9 +- drivers/infiniband/hw/hfi1/init.c | 4 +- drivers/infiniband/hw/hfi1/pio.c | 2 +- drivers/infiniband/hw/hfi1/pio.h | 2 - drivers/infiniband/hw/hfi1/sdma.c | 4 +- drivers/infiniband/hw/hfi1/sysfs.c | 530 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 2 +- drivers/infiniband/hw/hfi1/trace.c | 5 + drivers/infiniband/hw/hfi1/verbs.c | 92 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 114 +- drivers/infiniband/hw/hns/hns_roce_common.h | 12 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 15 +- drivers/infiniband/hw/hns/hns_roce_db.c | 3 +- drivers/infiniband/hw/hns/hns_roce_device.h | 72 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 371 +- drivers/infiniband/hw/hns/hns_roce_hem.h | 13 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 79 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 5 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1983 +++---- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 969 ++-- drivers/infiniband/hw/hns/hns_roce_main.c | 40 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 84 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 94 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 47 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 22 +- drivers/infiniband/hw/i40iw/Kconfig | 9 - drivers/infiniband/hw/i40iw/Makefile | 9 - drivers/infiniband/hw/i40iw/i40iw.h | 602 --- drivers/infiniband/hw/i40iw/i40iw_cm.c | 4419 --------------- drivers/infiniband/hw/i40iw/i40iw_cm.h | 462 -- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 5243 ------------------ drivers/infiniband/hw/i40iw/i40iw_d.h | 1746 ------ drivers/infiniband/hw/i40iw/i40iw_hmc.c | 821 --- drivers/infiniband/hw/i40iw/i40iw_hmc.h | 241 - drivers/infiniband/hw/i40iw/i40iw_hw.c | 851 --- drivers/infiniband/hw/i40iw/i40iw_main.c | 2064 ------- drivers/infiniband/hw/i40iw/i40iw_osdep.h | 195 - drivers/infiniband/hw/i40iw/i40iw_p.h | 129 - drivers/infiniband/hw/i40iw/i40iw_pble.c | 611 --- drivers/infiniband/hw/i40iw/i40iw_pble.h | 131 - drivers/infiniband/hw/i40iw/i40iw_puda.c | 1496 ------ drivers/infiniband/hw/i40iw/i40iw_puda.h | 188 - drivers/infiniband/hw/i40iw/i40iw_register.h | 1030 ---- drivers/infiniband/hw/i40iw/i40iw_status.h | 101 - drivers/infiniband/hw/i40iw/i40iw_type.h | 1358 ----- drivers/infiniband/hw/i40iw/i40iw_uk.c | 1200 ----- drivers/infiniband/hw/i40iw/i40iw_user.h | 422 -- drivers/infiniband/hw/i40iw/i40iw_utils.c | 1518 ------ drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2652 --------- drivers/infiniband/hw/i40iw/i40iw_verbs.h | 179 - drivers/infiniband/hw/i40iw/i40iw_vf.c | 85 - drivers/infiniband/hw/i40iw/i40iw_vf.h | 62 - drivers/infiniband/hw/i40iw/i40iw_virtchnl.c | 759 --- drivers/infiniband/hw/i40iw/i40iw_virtchnl.h | 124 - drivers/infiniband/hw/irdma/Kconfig | 12 + drivers/infiniband/hw/irdma/Makefile | 27 + drivers/infiniband/hw/irdma/cm.c | 4421 +++++++++++++++ drivers/infiniband/hw/irdma/cm.h | 417 ++ drivers/infiniband/hw/irdma/ctrl.c | 5657 ++++++++++++++++++++ drivers/infiniband/hw/irdma/defs.h | 1155 ++++ drivers/infiniband/hw/irdma/hmc.c | 710 +++ drivers/infiniband/hw/irdma/hmc.h | 180 + drivers/infiniband/hw/irdma/hw.c | 2725 ++++++++++ drivers/infiniband/hw/irdma/i40iw_hw.c | 216 + drivers/infiniband/hw/irdma/i40iw_hw.h | 160 + drivers/infiniband/hw/irdma/i40iw_if.c | 216 + drivers/infiniband/hw/irdma/icrdma_hw.c | 149 + drivers/infiniband/hw/irdma/icrdma_hw.h | 71 + drivers/infiniband/hw/irdma/irdma.h | 153 + drivers/infiniband/hw/irdma/main.c | 358 ++ drivers/infiniband/hw/irdma/main.h | 555 ++ drivers/infiniband/hw/irdma/osdep.h | 86 + drivers/infiniband/hw/irdma/pble.c | 520 ++ drivers/infiniband/hw/irdma/pble.h | 136 + drivers/infiniband/hw/irdma/protos.h | 116 + drivers/infiniband/hw/irdma/puda.c | 1744 ++++++ drivers/infiniband/hw/irdma/puda.h | 194 + drivers/infiniband/hw/irdma/status.h | 71 + drivers/infiniband/hw/irdma/trace.c | 112 + drivers/infiniband/hw/irdma/trace.h | 3 + drivers/infiniband/hw/irdma/trace_cm.h | 458 ++ drivers/infiniband/hw/irdma/type.h | 1541 ++++++ drivers/infiniband/hw/irdma/uda.c | 271 + drivers/infiniband/hw/irdma/uda.h | 89 + drivers/infiniband/hw/irdma/uda_d.h | 128 + drivers/infiniband/hw/irdma/uk.c | 1684 ++++++ drivers/infiniband/hw/irdma/user.h | 437 ++ drivers/infiniband/hw/irdma/utils.c | 2541 +++++++++ drivers/infiniband/hw/irdma/verbs.c | 4544 ++++++++++++++++ drivers/infiniband/hw/irdma/verbs.h | 225 + drivers/infiniband/hw/irdma/ws.c | 406 ++ drivers/infiniband/hw/irdma/ws.h | 41 + drivers/infiniband/hw/mlx4/cq.c | 8 +- drivers/infiniband/hw/mlx4/main.c | 27 +- drivers/infiniband/hw/mlx4/qp.c | 11 +- drivers/infiniband/hw/mlx5/counters.c | 42 +- drivers/infiniband/hw/mlx5/cq.c | 10 +- drivers/infiniband/hw/mlx5/doorbell.c | 3 +- drivers/infiniband/hw/mlx5/main.c | 19 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 +- drivers/infiniband/hw/mlx5/mr.c | 12 +- drivers/infiniband/hw/mlx5/odp.c | 5 +- drivers/infiniband/hw/mlx5/qp.c | 177 +- drivers/infiniband/hw/mlx5/qpc.c | 6 + drivers/infiniband/hw/mlx5/srq.c | 2 +- drivers/infiniband/hw/mlx5/wr.c | 14 +- drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +- drivers/infiniband/hw/qedr/main.c | 2 +- drivers/infiniband/hw/qib/qib.h | 8 +- drivers/infiniband/hw/qib/qib_sysfs.c | 616 +-- drivers/infiniband/hw/qib/qib_verbs.c | 6 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +- drivers/infiniband/sw/rdmavt/mr.c | 4 +- drivers/infiniband/sw/rdmavt/qp.c | 3 +- drivers/infiniband/sw/rdmavt/vt.c | 6 +- drivers/infiniband/sw/rxe/Makefile | 1 + drivers/infiniband/sw/rxe/rxe.c | 1 + drivers/infiniband/sw/rxe/rxe_comp.c | 36 +- drivers/infiniband/sw/rxe/rxe_cq.c | 32 +- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 7 +- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 38 +- drivers/infiniband/sw/rxe/rxe_mr.c | 130 +- drivers/infiniband/sw/rxe/rxe_mw.c | 343 ++ drivers/infiniband/sw/rxe/rxe_net.c | 14 +- drivers/infiniband/sw/rxe/rxe_opcode.c | 11 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 3 +- drivers/infiniband/sw/rxe/rxe_param.h | 19 +- drivers/infiniband/sw/rxe/rxe_pool.c | 45 +- drivers/infiniband/sw/rxe/rxe_pool.h | 8 +- drivers/infiniband/sw/rxe/rxe_qp.c | 23 +- drivers/infiniband/sw/rxe/rxe_queue.c | 21 +- drivers/infiniband/sw/rxe/rxe_queue.h | 272 +- drivers/infiniband/sw/rxe/rxe_req.c | 159 +- drivers/infiniband/sw/rxe/rxe_resp.c | 208 +- drivers/infiniband/sw/rxe/rxe_srq.c | 5 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 101 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 53 +- drivers/infiniband/ulp/ipoib/ipoib.h | 4 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 8 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 48 +- drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 4 +- drivers/infiniband/ulp/iser/iser_verbs.c | 2 +- drivers/infiniband/ulp/isert/ib_isert.c | 18 +- drivers/infiniband/ulp/isert/ib_isert.h | 3 - drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 5 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 254 +- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 6 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 27 +- drivers/infiniband/ulp/rtrs/rtrs-srv-stats.c | 12 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 1 + drivers/infiniband/ulp/rtrs/rtrs-srv.c | 199 +- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 4 +- drivers/infiniband/ulp/rtrs/rtrs.c | 53 +- drivers/infiniband/ulp/rtrs/rtrs.h | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 256 +- drivers/infiniband/ulp/srp/ib_srp.h | 2 - drivers/infiniband/ulp/srpt/ib_srpt.c | 1 - drivers/net/ethernet/intel/i40e/i40e_client.c | 149 - drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 8 +- .../net/ethernet/mellanox/mlx5/core/lib/clock.h | 10 +- include/linux/mlx5/mlx5_ifc.h | 36 +- include/linux/mlx5/qp.h | 4 +- include/linux/net/intel/i40e_client.h | 3 - include/rdma/ib_hdrs.h | 5 - include/rdma/ib_mad.h | 27 +- include/rdma/ib_sysfs.h | 37 + include/rdma/ib_verbs.h | 83 +- include/scsi/srp.h | 26 +- include/uapi/rdma/bnxt_re-abi.h | 11 +- include/uapi/rdma/i40iw-abi.h | 107 - include/uapi/rdma/ib_user_ioctl_verbs.h | 1 + include/uapi/rdma/ib_user_mad.h | 2 +- include/uapi/rdma/irdma-abi.h | 111 + include/uapi/rdma/mlx5-abi.h | 3 + include/uapi/rdma/rdma_user_rxe.h | 10 + 233 files changed, 38023 insertions(+), 34428 deletions(-) (diffstat from tag for-linus-merged)
Attachment:
signature.asc
Description: PGP signature