[GIT PULL] Please pull RDMA subsystem changes
From: Jason Gunthorpe
Date: Mon Dec 24 2018 - 17:16:35 EST
Hi Linus,
These are the proposed RDMA patches for 4.21.
There is a conflict with the net tree merged in 4.20 and the Mellanox shared
tree. DaveM has a resolution for this in his net-next tree already, but if you
merge RDMA first, here is the resolution:
struct mlx5_ifc_flow_table_eswitch_cap_bits {
- u8 reserved_at_0[0x1c];
- u8 fdb_multi_path_to_table[0x1];
- u8 reserved_at_1d[0x1];
+ u8 reserved_at_0[0x1a];
u8 multi_fdb_encap[0x1];
- u8 reserved_at_1f[0x1e1];
+ u8 reserved_at_1b[0x1];
+ u8 fdb_multi_path_to_table[0x1];
+ u8 reserved_at_1d[0x3];
+
+ u8 reserved_at_20[0x1e0];
There is also a conflict in -next with the NFS tree, in this case the correct
resolution is to continue to delete net/sunrpc/xprtrdma/fmr_ops.c
Things got a bit busy in a rush up to the US holiday season, so we may see a
busier early -rc cycle, I've seen a few thing that suggest there are some new
bugs now. The major changes to the uapi will hopefully encourage all the
driver maintainer do to early testing.
This PR is generated off v4.20, typically we've waited until net-next is
merged. For this reason you will see below a large number of patches that
duplicate ones in net-next from the Mellanox shared branch.
The tag for-linus-merged with my merge resolution to your tree is also
available to pull.
The following changes since commit 40e020c129cfc991e8ab4736d2665351ffd1468d:
Linux 4.20-rc6 (2018-12-09 15:31:00 -0800)
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 f617e5ffe04fd46010b618c9eeadaa04588704c9:
RDMA/srpt: Use kmem_cache_free() instead of kfree() (2018-12-22 16:07:47 -0700)
----------------------------------------------------------------
4.21 merge window pull request
This has been a fairly typical cycle, with the usual sorts of driver
updates. Several series continue to come through which improve and
modernize various parts of the core code, and we finally are starting to
get the uAPI command interface cleaned up.
- Various driver fixes for bnxt_re, cxgb3/4, hfi1, hns, i40iw, mlx4, mlx5,
qib, rxe, usnic
- Rework the entire syscall flow for uverbs to be able to run over
ioctl(). Finally getting past the historic bad choice to use write()
for command execution
- More functional coverage with the mlx5 'devx' user API
- Start of the HFI1 series for 'TID RDMA'
- SRQ support in the hns driver
- Support for new IBTA defined 2x lane widths
- A big series to consolidate all the driver function pointers into
a big struct and have drivers provide a 'static const' version of the
struct instead of open coding initialization
- New 'advise_mr' uAPI to control device caching/loading of page tables
- Support for inline data in SRPT
- Modernize how umad uses the driver core and creates cdev's and sysfs
files
- First steps toward removing 'uobject' from the view of the drivers
----------------------------------------------------------------
Alex Vesker (1):
IB/mlx5: Enable TX on a DEVX flow table
Allen Pais (1):
RDMA/hns: prefer dma_zalloc_coherent to dma_alloc_coherent/memse
Andrew Boyer (2):
RDMA/rxe: Distinguish between down links and disabled links
RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters
Artemy Kovalyov (1):
IB/mlx5: Allow modify AV in DCI QP to RTR
Ashutosh Dixit (1):
IB/hfi1: Consider LMC in 16B/bypass ingress packet check
Bart Van Assche (15):
include/scsi/srp.h: Move response flag definitions into this file
include/scsi/srp.h: Add support for immediate data
RDMA/srp: Document srp_parse_in() arguments
RDMA/srp: Handle large SCSI CDBs correctly
RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer
RDMA/srp: Move srp_rdma_ch.max_ti_iu_len declaration
RDMA/srp: Rework handling of the maximum information unit length
RDMA/srp: Add support for immediate data
RDMA/srpt: Fix a use-after-free in the channel release code
RDMA/srpt: Improve coding style conformance
RDMA/srpt: Join split strings
RDMA/srpt: Make kernel-doc headers complete
RDMA/srpt: Remove driver version and release date
RDMA/srpt: Rework the srpt_alloc_srq() error path
RDMA/srpt: Add support for immediate data
Chuck Lever (1):
rxe: IB_WR_REG_MR does not capture MR's iova field
Colin Ian King (3):
IB/qib: fix spelling mistake "colescing" -> "coalescing"
RDMA/drivers: Fix spelling mistake "initalize" -> "initialize"
IB/usnic: fix spelling mistake "miniumum" -> "minimum"
Dan Carpenter (4):
IB/qib: Fix an error code in qib_sdma_verbs_send()
RDMA/hns: Fix an error code in hns_roce_create_srq()
IB/uverbs: Signedness bug in UVERBS_HANDLER()
RDMA/mlx5: Signedness bug in UVERBS_HANDLER()
Daniel Jurgens (1):
net/mlx5: When fetching CQEs return CQE instead of void pointer
Danit Goldberg (3):
net/mlx5: Expose packet based credit mode
IB/mlx5: Add packet based credit mode support
IB/mlx5: Report packet based credit mode device capability
Devesh Sharma (1):
RDMA/bnxt_re: Increase depth of control path command queue
Doug Ledford (4):
Merge branch 'write-handler-consistent-flow' into for-next
Merge 'mlx5-next' into mlx5-devx
Merge branch 'mlx5-devx' into wip/dl-for-next
IB/mlx5: Fix compile issue when ODP disabled
Eli Britstein (3):
net/mlx5: Introduce extended destination fields
net/mlx5: E-Switch, Change vhca id valid bool field to bit flag
net/mlx5: Support extended destination format in flow steering command
Eyal Davidovich (1):
net/mlx5: Add monitor commands layout and event data
Gal Pressman (7):
net/mlx5: Fix offsets of ifc reserved fields
RDMA/vmw_pvrdma: Use atomic memory allocation in create AH
RDMA/mlx5: Fix function name typo 'fileds' -> 'fields'
RDMA: Mark if create address handle is in a sleepable context
RDMA: Mark if destroy address handle is in a sleepable context
RDMA/bnxt_re: Make use of create AH sleepable flag
RDMA/bnxt_re: Make use of destroy AH sleepable flag
Guy Levi (2):
IB/mlx5: Use fragmented SRQ's buffer for in-kernel users
IB/mlx5: Use fragmented QP's buffer for in-kernel users
Huy Nguyen (1):
IB/mlx5: Fix long EEH recover time with NVMe offloads
Jason Gunthorpe (38):
Merge branch 'mlx5-next' into rdma.git
RDMA/mlx5: Do not generate the uabi specs unconditionally
RDMA/uverbs: Use a linear list to describe the compiled-in uapi
RDMA/uverbs: Factor out the add/get pattern into a helper
RDMA/uverbs: Add helpers to mark uapi functions as unsupported
RDMA/mlx5: Use the uapi disablement APIs instead of code
RDMA/uverbs: Require all objects to have a driver destroy function
RDMA/verbs: Store the write/write_ex uapi entry points in the uverbs_api
RDMA/uverbs: Convert the write interface to use uverbs_api
RDMA/uverbs: Make all the method functions in uverbs_cmd static
RDMA/uverbs: Check for NULL driver methods for every write call
RDMA/uverbs: Add missing driver_data
RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write
RDMA/uverbs: Make write() handlers return 0 on success
RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods
RDMA/uverbs: Add structure size info to write commands
RDMA/uverbs: Prohibit write() calls with too small buffers
RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex
RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write
RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl()
RDMA/uverbs: Remove out_len checks that are now done by the core
RDMA/uverbs: Use uverbs_attr_bundle to pass ucore for write/write_ex
RDMA/uverbs: Get rid of the 'callback' scheme in the compat path
RDMA/uverbs: Use uverbs_response() for remaining response copying
RDMA/uverbs: Use uverbs_request() for request copying
RDMA/uverbs: Use uverbs_request() and core for write_ex handlers
RDMA/uverbs: Fill in the response for IB_USER_VERBS_EX_CMD_MODIFY_QP
RDMA/uverbs: Simplify ib_uverbs_ex_query_device
RDMA/uverbs: Add a simple iterator interface for reading the command
RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv()
RDMA/uverbs: Do not check the input length on create_cq/qp paths
RDMA/uverbs: Use only attrs for the write() handler signature
Merge branch 'mlx5-packet-credit-fc' into rdma.git
Merge tag 'v4.20-rc6' into rdma.git for-next
RDMA/uverbs: Implement an ioctl that can call write and write_ex handlers
RDMA/uverbs: Add a method to introspect handles in a context
Merge branch 'mlx5-next' into rdma.git
IB/mlx5: Fix wrong error unwind
Kaike Wan (4):
IB/hfi1: Dump pio info for non-user send contexts
IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state
IB/hfi1: Unreserve a reserved request when it is completed
IB/hfi1: Add OPFN and TID RDMA capability bits
Kamal Heib (20):
RDMA/core: Introduce ib_device_ops
RDMA/bnxt_re: Initialize ib_device_ops struct
RDMA/cxgb3: Initialize ib_device_ops struct
RDMA/cxgb4: Initialize ib_device_ops struct
RDMA/hfi1: Initialize ib_device_ops struct
RDMA/hns: Initialize ib_device_ops struct
RDMA/i40iw: Initialize ib_device_ops struct
RDMA/mlx4: Initialize ib_device_ops struct
RDMA/mlx5: Initialize ib_device_ops struct
RDMA/mthca: Initialize ib_device_ops struct
RDMA/nes: Initialize ib_device_ops struct
RDMA/ocrdma: Initialize ib_device_ops struct
RDMA/qedr: Initialize ib_device_ops struct
RDMA/qib: Initialize ib_device_ops struct
RDMA/usnic: Initialize ib_device_ops struct
RDMA/vmw_pvrdma: Initialize ib_device_ops struct
RDMA/rxe: Initialize ib_device_ops struct
RDMA/rdmavt: Initialize ib_device_ops struct
RDMA: Start use ib_device_ops
RDMA/i40iw: Make sure to initialize ib_device_ops
Leon Romanovsky (22):
RDMA/qib: Remove all occurrences of BUG_ON()
RDMA/restrack: Track ucontext
RDMA/uverbs: Annotate alloc/deallloc paths with context tracking
RDMA/nldev: Export to user space number of contexts
net/mlx5: Align SRQ licenses and copyright information
net/mlx5: Remove dead transobj code
net/mlx5: Remove not-used lib/eq.h header file
net/mlx5: Remove references to local mlx5_core functions
net/mlx5: Move SRQ functions to RDMA part
RDMA/mlx5: Remove SRQ signature global flag
RDMA/mlx5: Use stages for callback to setup and release DEVX
RDMA/mlx5: Update SRQ functions signatures to mlx5_ib format
RDMA/mlx5: Initialize SRQ tables on mlx5_ib
RDMA/mlx5: Unfold create RMP function
RDMA/mlx5: Unfold modify RMP function
RDMA/uverbs: Fix typo in string concatenation macro
RDMA/mlx5: Fail early if user tries to create flows on IB representors
RDMA/uverbs: Optimize clearing of extra bytes in response
RDMA/ocrdma: Use PCI-ID as an identification in debugfs
net/mlx5: Continue driver initialization despite debugfs failure
RDMA/mlx5: Delete unreachable handle_atomic code by simplifying SW completion
net/mlx5: Add shared Q counter bits
Lijun Ou (9):
RDMA/hns: Eanble SRQ capacity for hip08
RDMA/hns: Init SRQ table for hip08
RDMA/hns: Add SRQ support for hip08 kernel mode
RDMA/hns: Add SRQ asynchronous event support
RDMA/hns: Init qp context when modify qp from reset to init
RDMA/hns: Encapsulate and simplify qp state transition
RDMA/hns: Fix the bug while use multi-hop of pbl
RDMA/hns: Update posting & querying mailbox
RDMA/hns: Bugfix for RoCE loopback test
Mark Bloch (2):
RDMA/mlx5: Attach a DEVX counter via raw flow creation
IB/mlx5: Unify e-switch representors load approach between uplink and VFs
Michael Guralnik (9):
IB/core: Add CapabilityMask2 to port attributes
IB/core: Add 2X port width
IB/core: Add new IB rates
IB/mlx5: Report CapabilityMask2 in ib_query_port
IB/mlx5: Add HDR speed support to query port
IB/mlx5: Add 2X width support to query_port
IB/core: uverbs copy to struct or zero helper
RDMA/nldev: Expose port_cap_flags2
IB/core: Move query port to ioctl
Michael J. Ruhl (2):
IB/hfi1: Limit VNIC use of SDMA engines to the available count
IB/hfi1: Incorrect sizing of sge for PIO will OOPs
Mike Marciniszyn (3):
IB/hfi1: Allow the driver to initialize QP priv struct
IB/hfi1: Close VNIC sdma_progress sleep window
IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio
Mikhael Goikhman (3):
net/mlx5: Rework handling of port module events
net/mlx5: Add support for PCIe power slot exceeded error in PME
net/mlx5: Add support for plugged-disabled cable status in PME
Mitko Haralanov (1):
IB/hfi1: Correctly process FECN and BECN in packets
Moni Shoua (10):
net/mlx5: Release resource on error flow
net/mlx5: Add interface to hold and release core resources
net/mlx5: Enumerate page fault types
IB/mlx5: Lock QP during page fault handling
net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
net/mlx5: Use multi threaded workqueue for page fault handling
IB/mlx5: Improve ODP debugging messages
IB/uverbs: Add helper to get array size from ptr attribute
IB/uverbs: Add support to advise_mr
IB/mlx5: Add advise_mr() support
Or Gerlitz (2):
net/mlx5: Remove the get protocol device interface entry
IB/mlx5: Simplify netdev unbinding
Oz Shlomo (1):
net/mlx5: Revise gre and nvgre key formats
Parav Pandit (11):
RDMA/core: Remove unused header files mm.h, socket.h, scatterlist.h
RDMA/cma: Move cma module specific functions to cma_priv.h
RDMA/core: Sync unregistration with netlink commands
RDMA/core: Delete RoCE GID in hw when corresponding IP is deleted
RDMA/uverbs: Add an ioctl method to destroy an object
IB/rxe: Make counters thread safe
IB/umad: Simplify and avoid dynamic allocation of class
IB/umad: Avoid destroying device while it is accessed
IB/umad: Refactor code to use cdev_device_add()
IB/umad: Use class_groups and let core create class file
IB/umad: Start using dev_groups of class
Parvi Kaustubhi (2):
MAINTAINERS: Update usnic driver maintainers
IB/usnic: Fix potential deadlock
Qian Cai (1):
mlx4: Use snprintf instead of complicated strcpy
Rami Rosen (1):
IB/uverbs: fix a typo
Roi Dayan (2):
net/mlx5: Split the activate lag function into two routines
net/mlx5: Add lag affinity info to log
Sabyasachi Gupta (2):
infiniband/hw/cxgb3/cxio_hal.c: Use dma_zalloc_coherent
infiniband/hw/cxgb4/qp.c: Use dma_zalloc_coherent
Saeed Mahameed (38):
net/mlx5: EQ, Use the right place to store/read IRQ affinity hint
net/mlx5: EQ, Remove unused fields and structures
net/mlx5: EQ, No need to store eq index as a field
net/mlx5: EQ, Remove redundant completion EQ list lock
net/mlx5: EQ, Move all EQ logic to eq.c
net/mlx5: EQ, Create all EQs in one place
net/mlx5: EQ, irq_info and rmap belong to eq_table
net/mlx5: EQ, Privatize eq_table and friends
net/mlx5: EQ, Different EQ types
net/mlx5: EQ, Generic EQ
{net,IB}/mlx5: Move Page fault EQ and ODP logic to RDMA
net/mlx5: EQ, Make EQE access methods inline
net/mlx5: EQ, Introduce atomic notifier chain subscription API
net/mlx5: FWTrace, Use async events chain
net/mlx5: FPGA, Use async events chain
net/mlx5: Clock, Use async events chain
net/mlx5: E-Switch, Use async events chain
net/mlx5: FWPage, Use async events chain
net/mlx5: CmdIF, Use async events chain
net/mlx5: Resource tables, Use async events chain
net/mlx5: CQ ERR, Use async events chain
net/mlx5: Device events, Use async events chain
net/mlx5: Improve core device events handling
net/mlx5: Driver events notifier API
net/mlx5: Allow port change event to be forwarded to driver notifiers chain
net/mlx5e: Use the new mlx5 core notifier API
net/mlx5: Forward all mlx5 events to mlx5 notifiers chain
IB/mlx5: Use the new mlx5 core notifier API
net/mlx5: Remove unused events callback and logic
IB/mlx5: Handle raw port change event rather than the software version
net/mlx5: Allow forwarding event type general event as is
IB/mlx5: Handle raw delay drop general event
net/mlx5: Remove all deprecated software versions of FW events
net/mlx5: Forward QP/WorkQueues resource events
net/mlx5: Forward SRQ resource events
net/mlx5: Debug print for forwarded async events
net/mlx5: Move flow counters data structures from flow steering header
net/mlx5: Use lowercase 'X' for hex values
Sagi Grimberg (3):
rxe: fix error completion wr_id and qp_num
mlx5: remove support for ib_get_vector_affinity
i40iw: remove support for ib_get_vector_affinity
Selvin Xavier (1):
RDMA/bnxt_re: Query HWRM Interface version from FW
Shahar Klein (2):
net/mlx5: E-Switch, Introduce flow counter affinity
net/mlx5: Fold the modify lag code into function
Shamir Rabinovitch (2):
RDMA/restrack: Resource-tracker should not use uobject pointers
RDMA: Cleanup undesired pd->uobject usage
Steve Wise (2):
iw_cxgb4: only reconnect with MPAv1 if the peer aborts
RDMA/iwcm: Don't copy past the end of dev_name() string
Tariq Toukan (2):
net/mlx5: Use helper to get CQE opcode
IB/mlx5: Use helper to get CQE opcode
Ursula Braun (1):
mlx4: trigger IB events needed by SMC
Wei Yongjun (1):
RDMA/srpt: Use kmem_cache_free() instead of kfree()
Yishai Hadas (11):
net/mlx5: Update mlx5_ifc with DEVX UCTX capabilities bits
IB/core: Introduce UVERBS_IDR_ANY_OBJECT
IB/core: Enable getting an object type from a given uobject
IB/mlx5: Enable modify and query verbs objects via DEVX
IB/mlx5: Enforce DEVX privilege by firmware
IB/mlx5: Update the supported DEVX commands
IB/mlx5: Allow XRC usage via verbs in DEVX context
IB/mlx5: Introduce uid as part of alloc/dealloc transport domain
IB/mlx5: Use uid as part of alloc/dealloc transport domain
IB/mlx5: Use the correct commands for UMEM and UCTX allocation
IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported
Yue Haibing (1):
IB/srpt: Drop pointless static qualifier in srpt_make_tpg()
YueHaibing (3):
IB/mlx5: Remove duplicated include from mlx5_ib.h
net/mlx5: Remove duplicated include from eswitch.c
IB/mlx4: Remove set but not used variable 'pd'
Yuval Shaia (9):
IB/core: Make function ib_fmr_pool_unmap return void
IB/rxe: Make function rxe_pool_cleanup return void
IB/rxe: Utilize generic function to validate port number
RDMA/core: Validate port number in query_pkey verb
IB/rxe: Fix incorrect cache cleanup in error flow
IB/{mlx5,ocrdma,qedr,rxe}: Omit port validation from IB verbs
IB/mlx4: Remove unneeded NULL check
IB/mlx4: Utilize macro to calculate SQ spare size
IB/rxe: Reuse code which sets port state
Zhu Yanjun (3):
IB/rxe: clean skb queue directly
IB/rxe: move the variable into the function that uses it
IB/rxe: make rxe_unregister_device void
kbuild test robot (1):
RDMA/uverbs: fix ptr_ret.cocci warnings
MAINTAINERS | 2 +
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/agent.c | 4 +-
drivers/infiniband/core/cache.c | 17 +-
drivers/infiniband/core/cm.c | 6 +-
drivers/infiniband/core/cma.c | 2 +-
drivers/infiniband/core/cma_configfs.c | 3 +
drivers/infiniband/core/cma_priv.h | 28 +
drivers/infiniband/core/core_priv.h | 47 +-
drivers/infiniband/core/cq.c | 8 +-
drivers/infiniband/core/device.c | 166 +-
drivers/infiniband/core/fmr_pool.c | 8 +-
drivers/infiniband/core/iwcm.c | 12 +-
drivers/infiniband/core/mad.c | 22 +-
drivers/infiniband/core/mad_rmpp.c | 11 +-
drivers/infiniband/core/nldev.c | 34 +-
drivers/infiniband/core/opa_smi.h | 4 +-
drivers/infiniband/core/rdma_core.c | 54 +-
drivers/infiniband/core/rdma_core.h | 79 +-
drivers/infiniband/core/restrack.c | 51 +-
drivers/infiniband/core/sa_query.c | 5 +-
drivers/infiniband/core/security.c | 8 +-
drivers/infiniband/core/smi.h | 4 +-
drivers/infiniband/core/sysfs.c | 28 +-
drivers/infiniband/core/ucm.c | 2 +-
drivers/infiniband/core/umem_odp.c | 14 +-
drivers/infiniband/core/user_mad.c | 244 +--
drivers/infiniband/core/uverbs.h | 86 +-
drivers/infiniband/core/uverbs_cmd.c | 2074 ++++++++++----------
drivers/infiniband/core/uverbs_ioctl.c | 59 +-
drivers/infiniband/core/uverbs_main.c | 242 +--
drivers/infiniband/core/uverbs_std_types.c | 118 +-
.../infiniband/core/uverbs_std_types_counters.c | 20 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 23 +-
drivers/infiniband/core/uverbs_std_types_device.c | 224 +++
drivers/infiniband/core/uverbs_std_types_dm.c | 17 +-
.../infiniband/core/uverbs_std_types_flow_action.c | 31 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 76 +-
drivers/infiniband/core/uverbs_uapi.c | 514 ++++-
drivers/infiniband/core/verbs.c | 194 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 17 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 +-
drivers/infiniband/hw/bnxt_re/main.c | 128 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 34 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 59 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 1 +
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 10 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 6 +-
drivers/infiniband/hw/cxgb3/cxio_hal.c | 3 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 66 +-
drivers/infiniband/hw/cxgb4/cm.c | 3 +-
drivers/infiniband/hw/cxgb4/provider.c | 74 +-
drivers/infiniband/hw/cxgb4/qp.c | 7 +-
drivers/infiniband/hw/hfi1/Makefile | 1 +
drivers/infiniband/hw/hfi1/chip.c | 47 +-
drivers/infiniband/hw/hfi1/chip_registers.h | 4 +
drivers/infiniband/hw/hfi1/common.h | 19 +-
drivers/infiniband/hw/hfi1/debugfs.c | 49 +
drivers/infiniband/hw/hfi1/driver.c | 72 +-
drivers/infiniband/hw/hfi1/hfi.h | 35 +-
drivers/infiniband/hw/hfi1/mad.c | 2 +-
drivers/infiniband/hw/hfi1/pio.c | 31 +-
drivers/infiniband/hw/hfi1/pio.h | 5 +
drivers/infiniband/hw/hfi1/qp.c | 20 +-
drivers/infiniband/hw/hfi1/rc.c | 32 +-
drivers/infiniband/hw/hfi1/sdma.c | 10 +-
drivers/infiniband/hw/hfi1/sdma.h | 1 +
drivers/infiniband/hw/hfi1/tid_rdma.c | 48 +
drivers/infiniband/hw/hfi1/tid_rdma.h | 13 +
drivers/infiniband/hw/hfi1/uc.c | 2 +-
drivers/infiniband/hw/hfi1/ud.c | 33 +-
drivers/infiniband/hw/hfi1/user_sdma.c | 5 +-
drivers/infiniband/hw/hfi1/verbs.c | 28 +-
drivers/infiniband/hw/hfi1/verbs.h | 2 +
drivers/infiniband/hw/hfi1/vnic_main.c | 4 +-
drivers/infiniband/hw/hfi1/vnic_sdma.c | 18 +-
drivers/infiniband/hw/hns/Makefile | 2 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 3 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 2 +
drivers/infiniband/hw/hns/hns_roce_cmd.h | 4 +
drivers/infiniband/hw/hns/hns_roce_common.h | 3 -
drivers/infiniband/hw/hns/hns_roce_device.h | 97 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 41 +-
drivers/infiniband/hw/hns/hns_roce_hem.h | 2 +
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 13 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 574 +++++-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 142 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 185 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 141 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 37 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 457 +++++
drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 127 +-
drivers/infiniband/hw/mlx4/ah.c | 6 +-
drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +-
drivers/infiniband/hw/mlx4/mad.c | 28 +-
drivers/infiniband/hw/mlx4/main.c | 205 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 +-
drivers/infiniband/hw/mlx4/qp.c | 31 +-
drivers/infiniband/hw/mlx4/srq.c | 10 +-
drivers/infiniband/hw/mlx4/sysfs.c | 12 +-
drivers/infiniband/hw/mlx5/Makefile | 4 +-
drivers/infiniband/hw/mlx5/ah.c | 4 +-
drivers/infiniband/hw/mlx5/cmd.c | 19 +
drivers/infiniband/hw/mlx5/cmd.h | 2 +
drivers/infiniband/hw/mlx5/cq.c | 114 +-
drivers/infiniband/hw/mlx5/devx.c | 233 ++-
drivers/infiniband/hw/mlx5/flow.c | 73 +-
drivers/infiniband/hw/mlx5/ib_rep.c | 15 +-
drivers/infiniband/hw/mlx5/mad.c | 18 +-
drivers/infiniband/hw/mlx5/main.c | 602 +++---
drivers/infiniband/hw/mlx5/mlx5_ib.h | 77 +-
drivers/infiniband/hw/mlx5/mr.c | 42 +-
drivers/infiniband/hw/mlx5/odp.c | 454 ++++-
drivers/infiniband/hw/mlx5/qp.c | 447 +++--
drivers/infiniband/hw/mlx5/srq.c | 73 +-
drivers/infiniband/hw/mlx5/srq.h | 73 +
.../core/srq.c => infiniband/hw/mlx5/srq_cmd.c} | 302 +--
drivers/infiniband/hw/mthca/mthca_dev.h | 9 +-
drivers/infiniband/hw/mthca/mthca_mad.c | 7 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 158 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 22 +-
drivers/infiniband/hw/mthca/mthca_srq.c | 29 +-
drivers/infiniband/hw/nes/nes_cm.c | 2 +-
drivers/infiniband/hw/nes/nes_verbs.c | 71 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 92 +-
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 5 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 19 +-
drivers/infiniband/hw/qedr/main.c | 103 +-
drivers/infiniband/hw/qedr/verbs.c | 25 +-
drivers/infiniband/hw/qedr/verbs.h | 4 +-
drivers/infiniband/hw/qib/qib_iba6120.c | 1 -
drivers/infiniband/hw/qib/qib_iba7220.c | 2 -
drivers/infiniband/hw/qib/qib_iba7322.c | 3 -
drivers/infiniband/hw/qib/qib_init.c | 1 -
drivers/infiniband/hw/qib/qib_mad.c | 3 +-
drivers/infiniband/hw/qib/qib_pcie.c | 2 +-
drivers/infiniband/hw/qib/qib_sdma.c | 5 +-
drivers/infiniband/hw/qib/qib_ud.c | 1 -
drivers/infiniband/hw/qib/qib_user_sdma.c | 1 -
drivers/infiniband/hw/qib/qib_verbs.c | 13 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 63 +-
drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 14 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 82 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 8 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 4 +-
drivers/infiniband/sw/rdmavt/ah.c | 5 +-
drivers/infiniband/sw/rdmavt/ah.h | 3 +-
drivers/infiniband/sw/rdmavt/mad.c | 3 +-
drivers/infiniband/sw/rdmavt/qp.c | 9 +-
drivers/infiniband/sw/rdmavt/vt.c | 299 +--
drivers/infiniband/sw/rxe/rxe.h | 6 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 6 +
drivers/infiniband/sw/rxe/rxe_hw_counters.c | 9 +-
drivers/infiniband/sw/rxe/rxe_hw_counters.h | 3 +
drivers/infiniband/sw/rxe/rxe_loc.h | 7 +-
drivers/infiniband/sw/rxe/rxe_net.c | 16 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 30 +-
drivers/infiniband/sw/rxe/rxe_pool.h | 2 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 11 +-
drivers/infiniband/sw/rxe/rxe_req.c | 3 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 33 +-
drivers/infiniband/sw/rxe/rxe_sysfs.c | 18 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 129 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 8 +-
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 +-
drivers/infiniband/ulp/iser/iser_memory.c | 9 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 8 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 8 +-
drivers/infiniband/ulp/srp/ib_srp.c | 159 +-
drivers/infiniband/ulp/srp/ib_srp.h | 20 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 283 ++-
drivers/infiniband/ulp/srpt/ib_srpt.h | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/Makefile | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 54 +-
drivers/net/ethernet/mellanox/mlx5/core/cq.c | 15 +-
drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 11 +
drivers/net/ethernet/mellanox/mlx5/core/dev.c | 162 +-
.../mellanox/mlx5/core/diag/fs_tracepoint.c | 8 +-
.../ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 27 +-
.../ethernet/mellanox/mlx5/core/diag/fw_tracer.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 51 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 10 +-
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 17 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 1260 ++++++------
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 3 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/events.c | 325 +++
.../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 2 +-
.../net/ethernet/mellanox/mlx5/core/fpga/core.c | 38 +-
.../net/ethernet/mellanox/mlx5/core/fpga/core.h | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 83 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 23 -
.../net/ethernet/mellanox/mlx5/core/fs_counters.c | 23 +
drivers/net/ethernet/mellanox/mlx5/core/health.c | 29 +-
drivers/net/ethernet/mellanox/mlx5/core/lag.c | 59 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.c | 24 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.h | 3 -
drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h | 98 +
drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 36 +
drivers/net/ethernet/mellanox/mlx5/core/main.c | 351 +---
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 39 +-
.../net/ethernet/mellanox/mlx5/core/pagealloc.c | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/port.c | 57 -
drivers/net/ethernet/mellanox/mlx5/core/qp.c | 86 +-
drivers/net/ethernet/mellanox/mlx5/core/transobj.c | 109 -
drivers/net/ethernet/mellanox/mlx5/core/wq.h | 2 +-
fs/cifs/smbdirect.c | 2 +-
include/linux/mlx5/cq.h | 2 +-
include/linux/mlx5/device.h | 23 +-
include/linux/mlx5/driver.h | 254 +--
include/linux/mlx5/eq.h | 72 +
include/linux/mlx5/fs.h | 8 +-
include/linux/mlx5/mlx5_ifc.h | 229 ++-
include/linux/mlx5/port.h | 3 -
include/linux/mlx5/qp.h | 5 +
include/linux/mlx5/srq.h | 72 -
include/linux/mlx5/transobj.h | 11 -
include/rdma/ib_fmr_pool.h | 2 +-
include/rdma/ib_mad.h | 10 +
include/rdma/ib_verbs.h | 584 +++---
include/rdma/rdma_vt.h | 7 +
include/rdma/restrack.h | 17 +-
include/rdma/uverbs_ioctl.h | 251 ++-
include/rdma/uverbs_named_ioctl.h | 13 +-
include/rdma/uverbs_std_types.h | 73 +-
include/scsi/srp.h | 26 +-
include/uapi/rdma/hfi/hfi1_user.h | 6 +-
include/uapi/rdma/hns-abi.h | 6 +
include/uapi/rdma/ib_user_ioctl_cmds.h | 84 +
include/uapi/rdma/ib_user_ioctl_verbs.h | 16 +
include/uapi/rdma/ib_user_verbs.h | 18 +-
include/uapi/rdma/mlx5-abi.h | 2 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 +
include/uapi/rdma/rdma_netlink.h | 3 +
net/rds/ib.c | 4 +-
net/sunrpc/xprtrdma/fmr_ops.c | 2 +-
247 files changed, 10427 insertions(+), 6528 deletions(-)
(diffstat from tag for-linus-merged)
Attachment:
signature.asc
Description: PGP signature