Merge tag 'dma-mapping-4.18' of git://git.infradead.org/users/hch/dma-mapping
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 4 Jun 2018 17:58:12 +0000 (10:58 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 4 Jun 2018 17:58:12 +0000 (10:58 -0700)
Pull dma-mapping updates from Christoph Hellwig:

 - replace the force_dma flag with a dma_configure bus method. (Nipun
   Gupta, although one patch is Ñ–ncorrectly attributed to me due to a
   git rebase bug)

 - use GFP_DMA32 more agressively in dma-direct. (Takashi Iwai)

 - remove PCI_DMA_BUS_IS_PHYS and rely on the dma-mapping API to do the
   right thing for bounce buffering.

 - move dma-debug initialization to common code, and apply a few
   cleanups to the dma-debug code.

 - cleanup the Kconfig mess around swiotlb selection

 - swiotlb comment fixup (Yisheng Xie)

 - a trivial swiotlb fix. (Dan Carpenter)

 - support swiotlb on RISC-V. (based on a patch from Palmer Dabbelt)

 - add a new generic dma-noncoherent dma_map_ops implementation and use
   it for arc, c6x and nds32.

 - improve scatterlist validity checking in dma-debug. (Robin Murphy)

 - add a struct device quirk to limit the dma-mask to 32-bit due to
   bridge/system issues, and switch x86 to use it instead of a local
   hack for VIA bridges.

 - handle devices without a dma_mask more gracefully in the dma-direct
   code.

* tag 'dma-mapping-4.18' of git://git.infradead.org/users/hch/dma-mapping: (48 commits)
  dma-direct: don't crash on device without dma_mask
  nds32: use generic dma_noncoherent_ops
  nds32: implement the unmap_sg DMA operation
  nds32: consolidate DMA cache maintainance routines
  x86/pci-dma: switch the VIA 32-bit DMA quirk to use the struct device flag
  x86/pci-dma: remove the explicit nodac and allowdac option
  x86/pci-dma: remove the experimental forcesac boot option
  Documentation/x86: remove a stray reference to pci-nommu.c
  core, dma-direct: add a flag 32-bit dma limits
  dma-mapping: remove unused gfp_t parameter to arch_dma_alloc_attrs
  dma-debug: check scatterlist segments
  c6x: use generic dma_noncoherent_ops
  arc: use generic dma_noncoherent_ops
  arc: fix arc_dma_{map,unmap}_page
  arc: fix arc_dma_sync_sg_for_{cpu,device}
  arc: simplify arc_dma_sync_single_for_{cpu,device}
  dma-mapping: provide a generic dma-noncoherent implementation
  dma-mapping: simplify Kconfig dependencies
  riscv: add swiotlb support
  riscv: only enable ZONE_DMA32 for 64-bit
  ...

17 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
arch/Kconfig
arch/alpha/Kconfig
arch/arm/mm/dma-mapping.c
arch/ia64/hp/common/sba_iommu.c
arch/nds32/Kconfig
arch/nds32/include/asm/Kbuild
arch/sh/Kconfig
arch/sh/mm/consistent.c
drivers/parisc/ccio-dma.c
drivers/parisc/sba_iommu.c
drivers/scsi/scsi_lib.c
include/linux/ide.h
lib/swiotlb.c
mm/Kconfig
net/core/dev.c

diff --cc MAINTAINERS
Simple merge
diff --cc arch/Kconfig
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -9,12 -11,7 +11,13 @@@ config NDS3
        select CLKSRC_MMIO
        select CLONE_BACKWARDS
        select COMMON_CLK
+       select DMA_NONCOHERENT_OPS
 +      select GENERIC_ASHLDI3
 +      select GENERIC_ASHRDI3
 +      select GENERIC_LSHRDI3
 +      select GENERIC_CMPDI2
 +      select GENERIC_MULDI3
 +      select GENERIC_UCMPDI2
        select GENERIC_ATOMIC64
        select GENERIC_CPU_DEVICES
        select GENERIC_CLOCKEVENTS
Simple merge
diff --cc arch/sh/Kconfig
Simple merge
Simple merge
Simple merge
@@@ -1986,11 -2014,9 +1986,9 @@@ static int __init sba_driver_callback(s
                break;
        }
  
 -      proc_create("sba_iommu", 0, root, &sba_proc_fops);
 -      proc_create("sba_iommu-bitmap", 0, root, &sba_proc_bitmap_fops);
 +      proc_create_single("sba_iommu", 0, root, sba_proc_info);
 +      proc_create_single("sba_iommu-bitmap", 0, root, sba_proc_bitmap_info);
  #endif
-       parisc_has_iommu();
        return 0;
  }
  
Simple merge
Simple merge
diff --cc lib/swiotlb.c
Simple merge
diff --cc mm/Kconfig
Simple merge
diff --cc net/core/dev.c
Simple merge