Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 9 May 2019 16:02:46 +0000 (09:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 9 May 2019 16:02:46 +0000 (09:02 -0700)
Pull rdma updates from Jason Gunthorpe:
 "This has been a smaller cycle than normal. One new driver was
  accepted, which is unusual, and at least one more driver remains in
  review on the list.

  Summary:

   - Driver fixes for hns, hfi1, nes, rxe, i40iw, mlx5, cxgb4,
     vmw_pvrdma

   - Many patches from MatthewW converting radix tree and IDR users to
     use xarray

   - Introduction of tracepoints to the MAD layer

   - Build large SGLs at the start for DMA mapping and get the driver to
     split them

   - Generally clean SGL handling code throughout the subsystem

   - Support for restricting RDMA devices to net namespaces for
     containers

   - Progress to remove object allocation boilerplate code from drivers

   - Change in how the mlx5 driver shows representor ports linked to VFs

   - mlx5 uapi feature to access the on chip SW ICM memory

   - Add a new driver for 'EFA'. This is HW that supports user space
     packet processing through QPs in Amazon's cloud"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (186 commits)
  RDMA/ipoib: Allow user space differentiate between valid dev_port
  IB/core, ipoib: Do not overreact to SM LID change event
  RDMA/device: Don't fire uevent before device is fully initialized
  lib/scatterlist: Remove leftover from sg_page_iter comment
  RDMA/efa: Add driver to Kconfig/Makefile
  RDMA/efa: Add the efa module
  RDMA/efa: Add EFA verbs implementation
  RDMA/efa: Add common command handlers
  RDMA/efa: Implement functions that submit and complete admin commands
  RDMA/efa: Add the ABI definitions
  RDMA/efa: Add the com service API definitions
  RDMA/efa: Add the efa_com.h file
  RDMA/efa: Add the efa.h header file
  RDMA/efa: Add EFA device definitions
  RDMA: Add EFA related definitions
  RDMA/umem: Remove hugetlb flag
  RDMA/bnxt_re: Use core helpers to get aligned DMA address
  RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size
  RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks
  RDMA/umem: Add API to find best driver supported page size in an MR
  ...

21 files changed:
1  2 
MAINTAINERS
drivers/infiniband/Kconfig
drivers/infiniband/core/addr.c
drivers/infiniband/core/nldev.c
drivers/infiniband/core/sa_query.c
drivers/infiniband/core/ucm.c
drivers/infiniband/core/user_mad.c
drivers/infiniband/core/uverbs_main.c
drivers/infiniband/hw/hfi1/chip.c
drivers/infiniband/hw/hfi1/vnic_main.c
drivers/infiniband/hw/hns/hns_roce_hw_v1.c
drivers/infiniband/hw/hns/hns_roce_qp.c
drivers/infiniband/hw/mlx4/qp.c
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/qp.c
drivers/infiniband/hw/mthca/mthca_cq.c
drivers/infiniband/hw/mthca/mthca_qp.c
drivers/infiniband/hw/nes/nes_cm.c
drivers/infiniband/hw/qedr/verbs.c
drivers/infiniband/hw/qib/qib_iba7322.c
include/linux/mlx5/driver.h

diff --cc MAINTAINERS
Simple merge
Simple merge
  #include <net/neighbour.h>
  #include <net/route.h>
  #include <net/netevent.h>
 -#include <net/addrconf.h>
 +#include <net/ipv6_stubs.h>
  #include <net/ip6_route.h>
  #include <rdma/ib_addr.h>
+ #include <rdma/ib_cache.h>
  #include <rdma/ib_sa.h>
  #include <rdma/ib.h>
  #include <rdma/rdma_netlink.h>
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -172,18 -200,12 +200,12 @@@ static int mlx5_netdev_event(struct not
  
        switch (event) {
        case NETDEV_REGISTER:
+               /* Should already be registered during the load */
+               if (ibdev->is_rep)
+                       break;
                write_lock(&roce->netdev_lock);
-               if (ibdev->rep) {
-                       struct mlx5_eswitch *esw = ibdev->mdev->priv.eswitch;
-                       struct net_device *rep_ndev;
-                       rep_ndev = mlx5_ib_get_rep_netdev(esw,
-                                                         ibdev->rep->vport);
-                       if (rep_ndev == ndev)
-                               roce->netdev = ndev;
-               } else if (ndev->dev.parent == mdev->device) {
 -              if (ndev->dev.parent == &mdev->pdev->dev)
++              if (ndev->dev.parent == mdev->device)
                        roce->netdev = ndev;
-               }
                write_unlock(&roce->netdev_lock);
                break;
  
Simple merge
Simple merge
Simple merge
Simple merge