Hi Linus,

please pull the dma-mapping update for 5.10.  It contains a (clean) merge
of a later 5.9-rc commit, as I had to pull in a media subsystem revert
that is required for later commits.

There are a few trivial contextual conflicts due to the dma-mapping.h
split, for those simple keep both sides, that is the new headers added
by other trees as well as the ones added here, or the entire file
deletions in case of the arm tree.


The following changes since commit 171d4ff79f965c1f164705ef0aaea102a6ad238b:

  Merge tag 'mmc-v5.9-rc4-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc (2020-09-24 09:09:47 
-0700)

are available in the Git repository at:

  git://git.infradead.org/users/hch/dma-mapping.git tags/dma-mapping-5.10

for you to fetch changes up to 2a410d09417b5344ab1f3cf001ac73a1daf8dcce:

  ARM/ixp4xx: add a missing include of dma-map-ops.h (2020-10-13 13:28:22 +0200)

----------------------------------------------------------------
dma-mapping updates for 5.10

 - rework the non-coherent DMA allocator
 - move private definitions out of <linux/dma-mapping.h>
 - lower CMA_ALIGNMENT (Paul Cercueil)
 - remove the omap1 dma address translation in favor of the common
   code
 - make dma-direct aware of multiple dma offset ranges (Jim Quinlan)
 - support per-node DMA CMA areas (Barry Song)
 - increase the default seg boundary limit (Nicolin Chen)
 - misc fixes (Robin Murphy, Thomas Tai, Xu Wang)
 - various cleanups

----------------------------------------------------------------
Barry Song (3):
      dma-contiguous: provide the ability to reserve per-numa CMA
      arm64: mm: reserve per-numa CMA to localize coherent dma buffers
      mm: cma: use CMA_MAX_NAME to define the length of cma name array

Christoph Hellwig (54):
      dma-mapping: remove the dma_dummy_ops export
      dma-debug: remove most exports
      MIPS: make dma_sync_*_for_cpu a little less overzealous
      MIPS/jazzdma: remove the unused vdma_remap function
      MIPS/jazzdma: decouple from dma-direct
      dma-mapping: fix DMA_OPS dependencies
      dma-mapping: add (back) arch_dma_mark_clean for ia64
      dma-direct: remove dma_direct_{alloc,free}_pages
      dma-direct: lift gfp_t manipulation out of__dma_direct_alloc_pages
      dma-direct: use phys_to_dma_direct in dma_direct_alloc
      dma-direct: remove __dma_to_phys
      dma-direct: rename and cleanup __phys_to_dma
      dma-mapping: move dma_common_{mmap,get_sgtable} out of mapping.c
      dma-mapping: move the dma_declare_coherent_memory documentation
      ARM/dma-mapping: remove a __arch_page_to_dma #error
      ARM/dma-mapping: remove dma_to_virt
      ARM/dma-mapping: move various helpers from dma-mapping.h to dma-direct.h
      ARM/keystone: move the DMA offset handling under ifdef CONFIG_ARM_LPAE
      usb: don't inherity DMA properties for USB devices
      dma-mapping: remove DMA_MASK_NONE
      dma-mapping: move valid_dma_direction to dma-direction.h
      dma-mapping: better document dma_addr_t and DMA_MAPPING_ERROR
      ARM/omap1: switch to use dma_direct_set_offset for lbus DMA offsets
      Merge branch 'master' of https://git.kernel.org/.../torvalds/linux into 
dma-mapping-for-next
      mm: turn alloc_pages into an inline function
      drm/exynos: stop setting DMA_ATTR_NON_CONSISTENT
      drm/nouveau/gk20a: stop setting DMA_ATTR_NON_CONSISTENT
      net/au1000-eth: stop using DMA_ATTR_NON_CONSISTENT
      lib82596: move DMA allocation into the callers of i82596_probe
      53c700: improve non-coherent DMA handling
      dma-mapping: add a new dma_alloc_noncoherent API
      sgiwd93: convert to dma_alloc_noncoherent
      hal2: convert to dma_alloc_noncoherent
      lib82596: convert to dma_alloc_noncoherent
      sgiseeq: convert to dma_alloc_noncoherent
      53c700: convert to dma_alloc_noncoherent
      dma-mapping: remove dma_cache_sync
      dma-mapping: add a new dma_alloc_pages API
      dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods
      dma-iommu: implement ->alloc_noncoherent
      firewire-ohci: use dma_alloc_pages
      dma-mapping: split <linux/dma-mapping.h>
      dma-contiguous: remove dma_declare_contiguous
      dma-contiguous: remove dev_set_cma_area
      dma-contiguous: remove dma_contiguous_set_default
      dma-mapping: merge <linux/dma-contiguous.h> into <linux/dma-map-ops.h>
      dma-mapping: remove <asm/dma-contiguous.h>
      dma-mapping: move dma-debug.h to kernel/dma/
      dma-mapping: move large parts of <linux/dma-direct.h> to kernel/dma
      dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h>
      dma-direct check for highmem pages in dma_direct_alloc_pages
      dma-direct: factor out a dma_direct_alloc_from_pool helper
      dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling
      ARM/ixp4xx: add a missing include of dma-map-ops.h

Jim Quinlan (1):
      dma-mapping: introduce DMA range map, supplanting dma_pfn_offset

Nicolin Chen (2):
      dma-mapping: introduce dma_get_seg_boundary_nr_pages()
      dma-mapping: set default segment_boundary_mask to ULONG_MAX

Paul Cercueil (1):
      cma: decrease CMA_ALIGNMENT lower limit to 2

Robin Murphy (1):
      iommu/io-pgtable-arm: Clean up faulty sanity check

Thomas Tai (1):
      dma-direct: Fix potential NULL pointer dereference

Xu Wang (1):
      dma-debug: convert comma to semicolon

 Documentation/admin-guide/kernel-parameters.txt    |  13 +-
 Documentation/core-api/dma-api.rst                 |  99 +++----
 Documentation/core-api/dma-attributes.rst          |   8 -
 MAINTAINERS                                        |   2 +-
 arch/alpha/kernel/pci_iommu.c                      |  11 +-
 arch/arc/mm/dma.c                                  |   2 +-
 arch/arm/common/dmabounce.c                        |   3 +-
 arch/arm/include/asm/dma-contiguous.h              |  15 -
 arch/arm/include/asm/dma-direct.h                  |  35 ++-
 arch/arm/include/asm/dma-iommu.h                   |   1 -
 arch/arm/include/asm/dma-mapping.h                 |  71 -----
 arch/arm/mach-davinci/devices-da8xx.c              |  18 +-
 arch/arm/mach-highbank/highbank.c                  |   2 +-
 arch/arm/mach-imx/mach-imx27_visstrim_m10.c        |   2 +-
 arch/arm/mach-imx/mach-mx31moboard.c               |   2 +-
 arch/arm/mach-ixp4xx/common.c                      |   1 +
 arch/arm/mach-keystone/keystone.c                  |  21 +-
 arch/arm/mach-mvebu/coherency.c                    |   2 +-
 arch/arm/mach-omap1/include/mach/memory.h          |  31 --
 arch/arm/mach-omap1/usb.c                          |  22 ++
 arch/arm/mach-shmobile/setup-rcar-gen2.c           |   2 +-
 arch/arm/mm/dma-mapping-nommu.c                    |   3 +
 arch/arm/mm/dma-mapping.c                          |   9 +-
 arch/arm/mm/init.c                                 |   2 +-
 arch/arm/xen/mm.c                                  |   2 +-
 arch/arm64/mm/dma-mapping.c                        |   2 +-
 arch/arm64/mm/init.c                               |   5 +-
 arch/c6x/mm/dma-coherent.c                         |   2 +-
 arch/csky/kernel/setup.c                           |   2 +-
 arch/csky/mm/dma-mapping.c                         |   4 +-
 arch/hexagon/kernel/dma.c                          |   2 +-
 arch/ia64/Kconfig                                  |   3 +-
 arch/ia64/hp/common/sba_iommu.c                    |   7 +-
 arch/ia64/kernel/dma-mapping.c                     |  14 +-
 arch/ia64/mm/init.c                                |   5 +-
 arch/m68k/kernel/dma.c                             |   2 +-
 arch/microblaze/kernel/dma.c                       |   3 +-
 arch/microblaze/mm/consistent.c                    |   2 +-
 arch/microblaze/mm/init.c                          |   2 +-
 arch/mips/Kconfig                                  |   1 -
 arch/mips/bmips/dma.c                              |   4 +-
 arch/mips/cavium-octeon/dma-octeon.c               |   4 +-
 arch/mips/include/asm/dma-direct.h                 |   4 +-
 arch/mips/include/asm/jazzdma.h                    |   2 -
 arch/mips/jazz/jazzdma.c                           | 105 ++-----
 arch/mips/kernel/setup.c                           |   2 +-
 arch/mips/loongson2ef/fuloong-2e/dma.c             |   4 +-
 arch/mips/loongson2ef/lemote-2f/dma.c              |   4 +-
 arch/mips/loongson64/dma.c                         |   4 +-
 arch/mips/mm/dma-noncoherent.c                     |  51 ++--
 arch/mips/pci/pci-ar2315.c                         |   4 +-
 arch/mips/pci/pci-xtalk-bridge.c                   |   4 +-
 arch/mips/sgi-ip32/ip32-dma.c                      |   4 +-
 arch/nds32/kernel/dma.c                            |   2 +-
 arch/openrisc/kernel/dma.c                         |   2 +-
 arch/parisc/Kconfig                                |   1 -
 arch/parisc/kernel/drivers.c                       |   1 +
 arch/parisc/kernel/pci-dma.c                       |   8 +-
 arch/powerpc/include/asm/dma-direct.h              |   4 +-
 arch/powerpc/include/asm/iommu.h                   |   2 +-
 arch/powerpc/include/asm/pci.h                     |   2 +-
 arch/powerpc/kernel/dma-iommu.c                    |   2 +
 arch/powerpc/kernel/iommu.c                        |  11 +-
 arch/powerpc/mm/dma-noncoherent.c                  |   2 +-
 arch/powerpc/platforms/ps3/system-bus.c            |   6 +-
 arch/powerpc/platforms/pseries/ibmebus.c           |   2 +-
 arch/powerpc/platforms/pseries/vio.c               |   4 +-
 arch/s390/kernel/setup.c                           |   2 +-
 arch/s390/pci/pci_dma.c                            |  10 +-
 arch/sh/boards/mach-ap325rxa/setup.c               |   1 +
 arch/sh/boards/mach-ecovec24/setup.c               |   1 +
 arch/sh/boards/mach-kfr2r09/setup.c                |   2 +-
 arch/sh/boards/mach-migor/setup.c                  |   2 +-
 arch/sh/boards/mach-se/7724/setup.c                |   1 +
 arch/sh/drivers/pci/fixups-dreamcast.c             |   2 +-
 arch/sh/drivers/pci/pci.c                          |   1 -
 arch/sh/drivers/pci/pcie-sh7786.c                  |   9 +-
 arch/sh/kernel/dma-coherent.c                      |   2 +-
 arch/sparc/kernel/iommu-common.c                   |  10 +-
 arch/sparc/kernel/iommu.c                          |   5 +-
 arch/sparc/kernel/ioport.c                         |   2 +-
 arch/sparc/kernel/pci_sun4v.c                      |   4 +-
 arch/sparc/mm/io-unit.c                            |   2 +-
 arch/sparc/mm/iommu.c                              |   2 +-
 arch/x86/include/asm/dma-mapping.h                 |   2 -
 arch/x86/kernel/amd_gart_64.c                      |  12 +-
 arch/x86/kernel/pci-dma.c                          |   2 +-
 arch/x86/kernel/setup.c                            |   2 +
 arch/x86/pci/sta2x11-fixup.c                       |   6 +-
 arch/x86/xen/pci-swiotlb-xen.c                     |   2 +-
 arch/xtensa/kernel/pci-dma.c                       |   3 +-
 arch/xtensa/mm/init.c                              |   2 +-
 drivers/acpi/arm64/iort.c                          |   6 +-
 drivers/acpi/scan.c                                |   2 +-
 drivers/base/core.c                                |   2 +
 drivers/base/dd.c                                  |   2 +-
 drivers/dma-buf/heaps/cma_heap.c                   |   2 +-
 drivers/firewire/ohci.c                            |  26 +-
 drivers/gpu/drm/exynos/exynos_drm_dma.c            |   2 +-
 drivers/gpu/drm/exynos/exynos_drm_gem.c            |   2 -
 drivers/gpu/drm/msm/msm_gem.c                      |   1 +
 .../gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c    |   3 +-
 drivers/gpu/drm/sun4i/sun4i_backend.c              |   8 +-
 drivers/iommu/amd/iommu.c                          |   3 +-
 drivers/iommu/dma-iommu.c                          |  46 ++-
 drivers/iommu/intel/iommu.c                        |  10 +-
 drivers/iommu/io-pgtable-arm.c                     |   5 -
 drivers/media/platform/exynos4-is/fimc-is.c        |   1 -
 drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c |   9 +-
 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c |  11 +-
 drivers/misc/mic/Kconfig                           |   1 +
 drivers/misc/mic/bus/mic_bus.c                     |   1 +
 drivers/misc/mic/bus/scif_bus.c                    |   2 +-
 drivers/misc/mic/bus/scif_bus.h                    |   2 +-
 drivers/misc/mic/bus/vop_bus.c                     |   2 +-
 drivers/misc/mic/host/mic_boot.c                   |   1 +
 drivers/net/ethernet/amd/au1000_eth.c              |  15 +-
 drivers/net/ethernet/i825xx/lasi_82596.c           |  37 +--
 drivers/net/ethernet/i825xx/lib82596.c             | 148 +++++-----
 drivers/net/ethernet/i825xx/sni_82596.c            |  23 +-
 drivers/net/ethernet/seeq/sgiseeq.c                |  28 +-
 drivers/of/address.c                               |  73 ++---
 drivers/of/device.c                                |  45 +--
 drivers/of/of_private.h                            |  11 +-
 drivers/of/unittest.c                              |  34 ++-
 drivers/parisc/ccio-dma.c                          |   6 +-
 drivers/parisc/sba_iommu.c                         |   6 +-
 drivers/pci/pci-driver.c                           |   1 +
 drivers/pci/xen-pcifront.c                         |   1 +
 drivers/pcmcia/ds.c                                |   2 +-
 drivers/remoteproc/remoteproc_core.c               |  25 +-
 drivers/remoteproc/remoteproc_virtio.c             |   2 +-
 drivers/scsi/53c700.c                              | 121 ++++----
 drivers/scsi/53c700.h                              |  17 +-
 drivers/scsi/sgiwd93.c                             |  14 +-
 drivers/staging/media/sunxi/cedrus/cedrus_hw.c     |  10 +-
 drivers/usb/core/message.c                         |   6 -
 drivers/usb/core/usb.c                             |  12 -
 drivers/vdpa/vdpa_sim/vdpa_sim.c                   |   2 +-
 drivers/xen/swiotlb-xen.c                          |   4 +-
 include/asm-generic/Kbuild                         |   1 -
 include/asm-generic/dma-contiguous.h               |  10 -
 include/linux/cma.h                                |   2 +
 include/linux/device.h                             |   4 +-
 include/linux/dma-contiguous.h                     | 176 -----------
 include/linux/dma-direct.h                         | 198 +++++--------
 include/linux/dma-direction.h                      |   8 +-
 include/linux/dma-map-ops.h                        | 326 +++++++++++++++++++++
 include/linux/dma-mapping.h                        | 240 ++++-----------
 include/linux/dma-noncoherent.h                    | 114 -------
 include/linux/gfp.h                                |   6 +-
 kernel/dma/Kconfig                                 |  25 +-
 kernel/dma/Makefile                                |   1 +
 kernel/dma/coherent.c                              |  25 +-
 kernel/dma/contiguous.c                            | 142 ++++++++-
 kernel/dma/debug.c                                 |  19 +-
 include/linux/dma-debug.h => kernel/dma/debug.h    |  44 +--
 kernel/dma/direct.c                                | 268 ++++++++++-------
 kernel/dma/direct.h                                | 119 ++++++++
 kernel/dma/dummy.c                                 |   3 +-
 kernel/dma/mapping.c                               | 159 ++++++----
 kernel/dma/ops_helpers.c                           |  85 ++++++
 kernel/dma/pool.c                                  |   5 +-
 kernel/dma/swiotlb.c                               |   6 +-
 kernel/dma/virt.c                                  |   4 +-
 mm/Kconfig                                         |   3 +-
 mm/cma.h                                           |   2 -
 mm/hugetlb.c                                       |   4 +-
 mm/memory.c                                        |   1 -
 sound/mips/hal2.c                                  |  58 ++--
 170 files changed, 1921 insertions(+), 1699 deletions(-)
 delete mode 100644 arch/arm/include/asm/dma-contiguous.h
 delete mode 100644 include/asm-generic/dma-contiguous.h
 delete mode 100644 include/linux/dma-contiguous.h
 create mode 100644 include/linux/dma-map-ops.h
 delete mode 100644 include/linux/dma-noncoherent.h
 rename include/linux/dma-debug.h => kernel/dma/debug.h (81%)
 create mode 100644 kernel/dma/direct.h
 create mode 100644 kernel/dma/ops_helpers.c
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to