[GIT PULL] dma-mapping updates for 5.5

From: Christoph Hellwig
Date: Thu Nov 28 2019 - 11:49:15 EST


Hi Linus,

please pull the dma-mapping updates for Linux 5.5. Before the last commit
I had to pull in a branch from the arm64 tree (which has already been
merged in master) as we'd otherwise generate some horribly to resolve
merge conflicts as both changed the area in different ways. Except for
that there should be not merge conflicts at all, which might be a first
for this tree.

The following changes since commit 320000e72ec0613e164ce9608d865396fb2da278:

Merge tag 'iommu-fixes-v5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu (2019-10-30 14:17:18 +0100)

are available in the Git repository at:

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

for you to fetch changes up to a7ba70f1787f977f970cd116076c6fce4b9e01cc:

dma-mapping: treat dev->bus_dma_mask as a DMA limit (2019-11-21 18:14:35 +0100)

----------------------------------------------------------------
dma-mapping updates for 5.5-rc1

- improve dma-debug scalability (Eric Dumazet)
- tiny dma-debug cleanup (Dan Carpenter)
- check for vmap memory in dma_map_single (Kees Cook)
- check for dma_addr_t overflows in dma-direct when using
DMA offsets (Nicolas Saenz Julienne)
- switch the x86 sta2x11 SOC to use more generic DMA code
(Nicolas Saenz Julienne)
- fix arm-nommu dma-ranges handling (Vladimir Murzin)
- use __initdata in CMA (Shyam Saini)
- replace the bus dma mask with a limit (Nicolas Saenz Julienne)
- merge the remapping helpers into the main dma-direct flow (me)
- switch xtensa to the generic dma remap handling (me)
- various cleanups around dma_capable (me)
- remove unused dev arguments to various dma-noncoherent helpers (me)

----------------------------------------------------------------
Catalin Marinas (1):
arm64: Make arm64_dma32_phys_limit static

Christoph Hellwig (12):
dma-direct: remove __dma_direct_free_pages
dma-direct: remove the dma_handle argument to __dma_direct_alloc_pages
dma-direct: provide mmap and get_sgtable method overrides
dma-mapping: merge the generic remapping helpers into dma-direct
xtensa: use the generic uncached segment support
dma-mapping: drop the dev argument to arch_sync_dma_for_*
dma-direct: unify the dma_capable definitions
dma-direct: avoid a forward declaration for phys_to_dma
powerpc: remove support for NULL dev in __phys_to_dma / __dma_to_phys
dma-direct: don't check swiotlb=force in dma_direct_map_resource
dma-direct: exclude dma_direct_map_resource from the min_low_pfn check
Merge branch 'for-next/zone-dma' of git://git.kernel.org/.../arm64/linux into dma-mapping-for-next

Dan Carpenter (1):
dma-debug: clean up put_hash_bucket()

Eric Dumazet (3):
dma-debug: add a schedule point in debug_dma_dump_mappings()
dma-debug: reorder struct dma_debug_entry fields
dma-debug: increase HASH_SIZE

Kees Cook (2):
dma-mapping: Add vmap checks to dma_map_single()
usb: core: Remove redundant vmap checks

Nathan Chancellor (1):
arm64: mm: Fix unused variable warning in zone_sizes_init

Nicolas Saenz Julienne (9):
arm64: mm: use arm64_dma_phys_limit instead of calling max_zone_dma_phys()
arm64: rename variables used to calculate ZONE_DMA32's size
arm64: use both ZONE_DMA and ZONE_DMA32
mm: refresh ZONE_DMA and ZONE_DMA32 comments in 'enum zone_type'
dma/direct: turn ARCH_ZONE_DMA_BITS into a variable
arm64: mm: reserve CMA and crashkernel in ZONE_DMA32
dma-direct: check for overflows on 32 bit DMA addresses
x86/PCI: sta2x11: use default DMA address translation
dma-mapping: treat dev->bus_dma_mask as a DMA limit

Shyam Saini (1):
kernel: dma-contiguous: mark CMA parameters __initdata/__initconst

Vladimir Murzin (1):
dma-mapping: fix handling of dma-ranges for reserved memory (again)

arch/arc/Kconfig | 1 -
arch/arc/mm/dma.c | 8 +-
arch/arm/Kconfig | 1 -
arch/arm/include/asm/dma-direct.h | 19 ----
arch/arm/mm/dma-mapping-nommu.c | 2 +-
arch/arm/mm/dma-mapping.c | 14 +--
arch/arm/xen/mm.c | 12 +--
arch/arm64/Kconfig | 5 +-
arch/arm64/mm/dma-mapping.c | 8 +-
arch/arm64/mm/init.c | 77 +++++++++-----
arch/c6x/mm/dma-coherent.c | 14 +--
arch/csky/mm/dma-mapping.c | 8 +-
arch/hexagon/kernel/dma.c | 4 +-
arch/ia64/Kconfig | 2 +-
arch/ia64/kernel/dma-mapping.c | 6 --
arch/ia64/mm/init.c | 4 +-
arch/m68k/kernel/dma.c | 4 +-
arch/microblaze/Kconfig | 1 -
arch/microblaze/kernel/dma.c | 14 +--
arch/mips/Kconfig | 4 +-
arch/mips/bmips/dma.c | 2 +-
arch/mips/include/asm/dma-direct.h | 8 --
arch/mips/jazz/jazzdma.c | 17 ++-
arch/mips/mm/dma-noncoherent.c | 18 ++--
arch/mips/pci/fixup-sb1250.c | 16 +--
arch/nds32/kernel/dma.c | 8 +-
arch/nios2/mm/dma-mapping.c | 8 +-
arch/openrisc/kernel/dma.c | 2 +-
arch/parisc/kernel/pci-dma.c | 8 +-
arch/powerpc/include/asm/dma-direct.h | 13 ---
arch/powerpc/include/asm/page.h | 9 --
arch/powerpc/mm/dma-noncoherent.c | 8 +-
arch/powerpc/mm/mem.c | 20 +++-
arch/powerpc/platforms/Kconfig.cputype | 1 -
arch/powerpc/sysdev/fsl_pci.c | 6 +-
arch/s390/include/asm/page.h | 2 -
arch/s390/mm/init.c | 1 +
arch/sh/kernel/dma-coherent.c | 6 +-
arch/sparc/kernel/ioport.c | 4 +-
arch/x86/Kconfig | 1 -
arch/x86/include/asm/device.h | 3 -
arch/x86/include/asm/dma-direct.h | 9 --
arch/x86/kernel/amd_gart_64.c | 4 +-
arch/x86/kernel/pci-dma.c | 2 +-
arch/x86/mm/mem_encrypt.c | 2 +-
arch/x86/pci/sta2x11-fixup.c | 135 +++++------------------
arch/xtensa/Kconfig | 6 +-
arch/xtensa/include/asm/platform.h | 27 -----
arch/xtensa/kernel/Makefile | 3 +-
arch/xtensa/kernel/pci-dma.c | 129 +++-------------------
drivers/acpi/arm64/iort.c | 20 ++--
drivers/ata/ahci.c | 2 +-
drivers/iommu/dma-iommu.c | 13 ++-
drivers/of/device.c | 9 +-
drivers/usb/core/hcd.c | 8 +-
drivers/xen/swiotlb-xen.c | 12 +--
include/linux/device.h | 6 +-
include/linux/dma-direct.h | 37 +++++--
include/linux/dma-mapping.h | 10 +-
include/linux/dma-noncoherent.h | 22 ++--
include/linux/mmzone.h | 45 ++++----
include/xen/swiotlb-xen.h | 8 +-
kernel/dma/Kconfig | 12 ++-
kernel/dma/coherent.c | 16 +--
kernel/dma/contiguous.c | 9 +-
kernel/dma/debug.c | 39 ++++---
kernel/dma/direct.c | 188 ++++++++++++++++++++++++---------
kernel/dma/mapping.c | 45 ++------
kernel/dma/remap.c | 55 ----------
kernel/dma/swiotlb.c | 2 +-
70 files changed, 509 insertions(+), 735 deletions(-)
delete mode 100644 arch/x86/include/asm/dma-direct.h