Skip to contentSkip to conversation

Please pull rdma.git

GIT PULL Doug Ledford 1 participant 1 message Feb 24, 2017 InfiniBand

lore
Share & tools
lore
#0 lore raw

Hi Linus,

As promised yesterday, the patch series done by Bart is now ready to go.  I've prepared for you two options:

1) Take my merge branch.  I took your master from this morning and merged in my original branch for this work, fixing up merge conflicts in the merge commit and then adding one new commit because the bnxt_re driver was not in mainline when Bart did his work and so it was missed. This code can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git
tags/for-linus

or

2) Take the original series as is and perform the fixups yourself (they really aren't hard, and I detailed what they were in the log portion of my merge commit in the above branch).  It can be found at:

 git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git
tags/for-next-dma_ops

I just completed the merge, so it hasn't been through 0day or linux- next (it has passed local build tests though).  The original branch has been through 0day, but I don't think it went through linux-next as I don't think Stephen pulls my for-next-* tags, just the base for-next tag (I've email him to see if we can change that, but haven't heard back yet).

I'll include the boilerplate that git request-pull spits out from option #1.  For option #2 it's identical minus my two commits.

The following changes since commit
f1ef09fde17f9b77ca1435a5b53a28b203afb81c:

  Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
(2017-02-23 20:33:51 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git
tags/for-linus

for you to fetch changes up to
87a5da90d0c69de7102a3617115e0bb21e43ebfb:

  RDMA/bnxt_re: Switch from dma_device to dev.parent (2017-02-24 14:04:44 -0500)

----------------------------------------------------------------
Drop IB DMA mapping code and use core DMA code instead

Bart Van Assche noted that the IB DMA mapping code was significantly similar enough to the core DMA mapping code that with a few changes it was possible to remove the IB DMA mapping code entirely and switch the RDMA stack to use the core DMA mapping code.  This resulted in a nice set of cleanups, but touched the entire tree, and so is being submitted on its own.

This has been merged up to current master, and fixups for merge conflicts, as well as adding a patch for the bnxt_re driver which wasn't
in mainline when Bart did his work, have been done.

----------------------------------------------------------------
Bart Van Assche (37):
      treewide: Constify most dma_map_ops structures
      treewide: Move dma_ops from struct dev_archdata into struct device
      treewide: Consolidate set_dma_ops() implementations
      treewide: Consolidate get_dma_ops() implementations lib/dma-noop: Clarify a comment
      lib/dma-noop: Only build dma_noop_ops for s390 and m32r lib/dma-virt: Add dma_virt_ops
      IB/core: Remove ib_dma_*map_single_attrs()
      RDS: IB: Remove an unused structure member
      IB/core: Change the type of an ib_dma_alloc_coherent() argument IB/hf1: Remove DMA mapping code
      IB/qib: Remove DMA mapping code
      IB/core: Initialize ib_device.dev.parent earlier IB/core: Use dev.parent instead of dma_device IB/cxgb3: Set dev.parent instead of dma_device IB/cxgb4: Set dev.parent instead of dma_device IB/hfi1: Switch from dma_device to dev.parent IB/hns: Switch from dma_device to dev.parent IB/i40iw: Remove a superfluous assignment statement IB/mlx4: Switch from dma_device to dev.parent IB/mlx5: Switch from dma_device to dev.parent IB/mthca: Switch from dma_device to dev.parent IB/nes: Remove a superfluous assignment statement IB/ocrdma: Switch from dma_device to dev.parent IB/qedr: Switch from dma_device to dev.parent IB/qib: Switch from dma_device to dev.parent IB/usnic: Switch from dma_device to dev.parent IB/vmw_pvrdma: Switch from dma_device to dev.parent IB/rxe: Switch from dma_device to dev.parent IB/IPoIB: Switch from dma_device to dev.parent IB/iser: Switch from dma_device to dev.parent IB/srp: Switch from dma_device to dev.parent IB/srpt: Modify a debug statement
      RDS: net: Switch from dma_device to dev.parent
      nvme-rdma: Switch from dma_device to dev.parent IB/core: Remove ib_device.dma_device
      IB/rxe, IB/rdmavt: Use dma_virt_ops instead of duplicating it

Doug Ledford (2):
      Merge branch 'k.o/for-4.11-dma_ops' RDMA/bnxt_re: Switch from dma_device to dev.parent

 arch/alpha/include/asm/dma-mapping.h               |   4 +- arch/alpha/kernel/pci-noop.c                       |   4 +- arch/alpha/kernel/pci_iommu.c                      |   4 +- arch/arc/include/asm/dma-mapping.h                 |   4 +- arch/arc/mm/dma.c                                  |   2 +- arch/arm/common/dmabounce.c                        |   2 +- arch/arm/include/asm/device.h                      |   1 - arch/arm/include/asm/dma-mapping.h                 |  20 +-- arch/arm/mm/dma-mapping.c                          |  22 +-- arch/arm/xen/mm.c                                  |   4 +- arch/arm64/include/asm/device.h                    |   1 - arch/arm64/include/asm/dma-mapping.h               |  12 +- arch/arm64/mm/dma-mapping.c                        |  14 +- arch/avr32/include/asm/dma-mapping.h               |   4 +- arch/avr32/mm/dma-coherent.c                       |   2 +- arch/blackfin/include/asm/dma-mapping.h            |   4 +- arch/blackfin/kernel/dma-mapping.c                 |   2 +- arch/c6x/include/asm/dma-mapping.h                 |   4 +- arch/c6x/kernel/dma.c                              |   2 +- arch/cris/arch-v32/drivers/pci/dma.c               |   2 +- arch/cris/include/asm/dma-mapping.h                |   6 +- arch/frv/include/asm/dma-mapping.h                 |   4 +- arch/frv/mb93090-mb00/pci-dma-nommu.c              |   2 +- arch/frv/mb93090-mb00/pci-dma.c                    |   2 +- arch/h8300/include/asm/dma-mapping.h               |   4 +- arch/h8300/kernel/dma.c                            |   2 +- arch/hexagon/include/asm/dma-mapping.h             |   7 +- arch/hexagon/kernel/dma.c                          |   4 +- arch/ia64/hp/common/hwsw_iommu.c                   |   4 +- arch/ia64/hp/common/sba_iommu.c                    |   4 +- arch/ia64/include/asm/dma-mapping.h                |   7 +- arch/ia64/include/asm/machvec.h                    |   4 +- arch/ia64/kernel/dma-mapping.c                     |   4 +- arch/ia64/kernel/pci-dma.c                         |  10 +- arch/ia64/kernel/pci-swiotlb.c                     |   2 +- arch/m32r/Kconfig                                  |   1 + arch/m32r/include/asm/device.h                     |   1 - arch/m32r/include/asm/dma-mapping.h                |   4 +- arch/m68k/include/asm/dma-mapping.h                |   4 +- arch/m68k/kernel/dma.c                             |   2 +- arch/metag/include/asm/dma-mapping.h               |   4 +- arch/metag/kernel/dma.c                            |   2 +- arch/microblaze/include/asm/dma-mapping.h          |   4 +- arch/microblaze/kernel/dma.c                       |   2 +- arch/mips/cavium-octeon/dma-octeon.c               |   4 +- arch/mips/include/asm/device.h                     |   5 - arch/mips/include/asm/dma-mapping.h                |   9 +- .../include/asm/mach-cavium-octeon/dma-coherence.h |   2 +- arch/mips/include/asm/netlogic/common.h            |   2 +- arch/mips/loongson64/common/dma-swiotlb.c          |   2 +- arch/mips/mm/dma-default.c                         |   4 +- arch/mips/netlogic/common/nlm-dma.c                |   2 +- arch/mips/pci/pci-octeon.c                         |   2 +- arch/mn10300/include/asm/dma-mapping.h             |   4 +- arch/mn10300/mm/dma-alloc.c                        |   2 +- arch/nios2/include/asm/dma-mapping.h               |   4 +- arch/nios2/mm/dma-mapping.c                        |   2 +- arch/openrisc/include/asm/dma-mapping.h            |   4 +- arch/openrisc/kernel/dma.c                         |   2 +- arch/parisc/include/asm/dma-mapping.h              |   8 +- arch/parisc/kernel/drivers.c                       |   2 +- arch/parisc/kernel/pci-dma.c                       |   4 +- arch/powerpc/include/asm/device.h                  |   4 - arch/powerpc/include/asm/dma-mapping.h             |  14 +- arch/powerpc/include/asm/pci.h                     |   4 +- arch/powerpc/include/asm/ps3.h                     |   2 +- arch/powerpc/include/asm/swiotlb.h                 |   2 +- arch/powerpc/kernel/dma-swiotlb.c                  |   2 +- arch/powerpc/kernel/dma.c                          |   8 +- arch/powerpc/kernel/pci-common.c                   |   6 +- arch/powerpc/platforms/cell/iommu.c                |   6 +- arch/powerpc/platforms/pasemi/iommu.c              |   2 +- arch/powerpc/platforms/pasemi/setup.c              |   2 +- arch/powerpc/platforms/powernv/npu-dma.c           |   2 +- arch/powerpc/platforms/ps3/system-bus.c            |   8 +- arch/powerpc/platforms/pseries/ibmebus.c           |   4 +- arch/powerpc/platforms/pseries/vio.c               |   2 +- arch/s390/Kconfig                                  |   1 + arch/s390/include/asm/device.h                     |   1 - arch/s390/include/asm/dma-mapping.h                |   6 +- arch/s390/pci/pci.c                                |   2 +- arch/s390/pci/pci_dma.c                            |   2 +- arch/sh/include/asm/dma-mapping.h                  |   4 +- arch/sh/kernel/dma-nommu.c                         |   2 +- arch/sh/mm/consistent.c                            |   2 +- arch/sparc/include/asm/dma-mapping.h               |  10 +- arch/sparc/kernel/iommu.c                          |   4 +- arch/sparc/kernel/ioport.c                         |   8 +- arch/sparc/kernel/pci_sun4v.c                      |   2 +- arch/tile/include/asm/device.h                     |   3 - arch/tile/include/asm/dma-mapping.h                |  20 +-- arch/tile/kernel/pci-dma.c                         |  24 +-- arch/unicore32/include/asm/dma-mapping.h           |   4 +- arch/unicore32/mm/dma-swiotlb.c                    |   2 +- arch/x86/include/asm/device.h                      |   5 +- arch/x86/include/asm/dma-mapping.h                 |  11 +- arch/x86/include/asm/iommu.h                       |   2 +- arch/x86/kernel/amd_gart_64.c                      |   2 +- arch/x86/kernel/pci-calgary_64.c                   |   6 +- arch/x86/kernel/pci-dma.c                          |   4 +- arch/x86/kernel/pci-nommu.c                        |   2 +- arch/x86/kernel/pci-swiotlb.c                      |   2 +- arch/x86/pci/common.c                              |   2 +- arch/x86/pci/sta2x11-fixup.c                       |  10 +- arch/x86/xen/pci-swiotlb-xen.c                     |   2 +- arch/xtensa/include/asm/device.h                   |   4 - arch/xtensa/include/asm/dma-mapping.h              |   9 +- arch/xtensa/kernel/pci-dma.c                       |   2 +- drivers/infiniband/core/device.c                   |   9 + drivers/infiniband/core/sysfs.c                    |   2 +- drivers/infiniband/core/ucm.c                      |   2 +- drivers/infiniband/core/user_mad.c                 |   4 +- drivers/infiniband/core/uverbs_main.c              |   2 +- drivers/infiniband/hw/bnxt_re/main.c               |   2 +- drivers/infiniband/hw/cxgb3/iwch_provider.c        |   2 +- drivers/infiniband/hw/cxgb4/provider.c             |   2 +- drivers/infiniband/hw/hfi1/dma.c                   | 183 -----------
--------
 drivers/infiniband/hw/hfi1/mad.c                   |   2 +- drivers/infiniband/hw/hfi1/verbs.c                 |   2 +- drivers/infiniband/hw/hns/hns_roce_main.c          |   2 +- drivers/infiniband/hw/hns/hns_roce_qp.c            |   2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c          |   1 - drivers/infiniband/hw/mlx4/main.c                  |   2 +- drivers/infiniband/hw/mlx4/mlx4_ib.h               |   2 +- drivers/infiniband/hw/mlx4/mr.c                    |   6 +- drivers/infiniband/hw/mlx5/main.c                  |   2 +- drivers/infiniband/hw/mlx5/mr.c                    |   8 +- drivers/infiniband/hw/mthca/mthca_provider.c       |   2 +- drivers/infiniband/hw/nes/nes_verbs.c              |   1 - drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   2 +- drivers/infiniband/hw/qedr/main.c                  |   2 +- drivers/infiniband/hw/qib/qib_dma.c                | 169 -----------
-------
 drivers/infiniband/hw/qib/qib_keys.c               |   5 +- drivers/infiniband/hw/qib/qib_verbs.c              |   2 +- drivers/infiniband/hw/usnic/usnic_ib_main.c        |   2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   2 +- drivers/infiniband/sw/rdmavt/Kconfig               |   1 + drivers/infiniband/sw/rdmavt/Makefile              |   2 +- drivers/infiniband/sw/rdmavt/dma.c                 | 198 -----------
----------
 drivers/infiniband/sw/rdmavt/dma.h                 |  53 ------

 drivers/infiniband/sw/rdmavt/mr.c                  |   8 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |   4 +-
 drivers/infiniband/sw/rdmavt/vt.h                  |   1 -
 drivers/infiniband/sw/rxe/Kconfig                  |   1 +

 drivers/infiniband/sw/rxe/Makefile                 |   1 - drivers/infiniband/sw/rxe/rxe_dma.c                | 183 -----------
--------
 drivers/infiniband/sw/rxe/rxe_loc.h                |   2 - drivers/infiniband/sw/rxe/rxe_verbs.c              |   9 +- drivers/infiniband/ulp/ipoib/ipoib_ethtool.c       |   2 +- drivers/infiniband/ulp/ipoib/ipoib_main.c          |   2 +- drivers/infiniband/ulp/iser/iscsi_iser.c           |   2 +- drivers/infiniband/ulp/srp/ib_srp.c                |   4 +- drivers/infiniband/ulp/srpt/ib_srpt.c              |   3 +- drivers/iommu/amd_iommu.c                          |  10 +- drivers/misc/mic/bus/mic_bus.c                     |   4 +- drivers/misc/mic/bus/scif_bus.c                    |   4 +- drivers/misc/mic/bus/scif_bus.h                    |   2 +- drivers/misc/mic/bus/vop_bus.c                     |   2 +- drivers/misc/mic/host/mic_boot.c                   |   4 +- drivers/nvme/host/rdma.c                           |   2 +- drivers/parisc/ccio-dma.c                          |   2 +- drivers/parisc/sba_iommu.c                         |   2 +- drivers/pci/host/vmd.c                             |   2 +- include/linux/device.h                             |   1 + include/linux/dma-mapping.h                        |  55 +++--- include/linux/mic_bus.h                            |   2 +- include/rdma/ib_verbs.h                            | 143 ++----------- --
 include/xen/arm/hypervisor.h                       |   2 +- lib/Kconfig                                        |  10 ++ lib/Makefile                                       |   3 +- lib/dma-noop.c                                     |   4 +- lib/dma-virt.c                                     |  72 ++++++++ net/rds/ib.h                                       |   8 +- net/rds/ib_mr.h                                    |   1 -

 174 files changed, 435 insertions(+), 1296 deletions(-)

 delete mode 100644 drivers/infiniband/hw/hfi1/dma.c delete mode 100644 drivers/infiniband/hw/qib/qib_dma.c delete mode 100644 drivers/infiniband/sw/rdmavt/dma.c delete mode 100644 drivers/infiniband/sw/rdmavt/dma.h delete mode 100644 drivers/infiniband/sw/rxe/rxe_dma.c create mode 100644 lib/dma-virt.c

Signature · 4 lines
Doug Ledford <[email protected]>
    GPG KeyID: B826A3330E572FDD
   
Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD