Messages in this thread | | | Date | Mon, 22 Oct 2018 10:07:33 +0200 | From | Christoph Hellwig <> | Subject | [GIT PULL] first round of dma mapping updates for 4.20 |
| |
Hi Linus, below is the first round of dma-mapping updates for 4.20.
There will be a second PR as some big changes were only applied just before the end of the merge window, and I want to give them a few more days in linux-next.
Note that "dma-mapping: add the missing ARCH_HAS_SYNC_DMA_FOR_CPU_ALL declaration" was applied here and later cherry picked into 4.19, so it will show up as a duplicate commit. That also causes an easy to solve merge conflict in kernel/dma/Kconfig (just make sure there are no duplicate symbols).
There also are some Kconfig conflicts in linux-next for the architecture Kconfig files, but those are only due to non-related symbols close to each other, and trivial to resolve.
The following changes since commit d7b686ebf704e3d91925a535a0905ba6be23757c:
Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux (2018-09-07 17:30:40 -0700)
are available in the Git repository at:
git://git.infradead.org/users/hch/dma-mapping.git tags/dma-mapping-4.20
for you to fetch changes up to b9fd04262a8abc366f40a9e97598e94591352c26:
dma-direct: respect DMA_ATTR_NO_WARN (2018-10-09 15:08:46 +0200)
---------------------------------------------------------------- First batch of dma-mapping changes for 4.20:
- mostly more consolidation of the direct mapping code, including converting over hexagon, and merging the coherent and non-coherent code into a single dma_map_ops instance (me) - cleanups for the dma_configure/dma_unconfigure callchains (me) - better handling of dma_masks in odd setups (me, Alexander Duyck) - better debugging of passing vmalloc address to the DMA API (Stephen Boyd) - CMA command line parsing fix (He Zhe)
---------------------------------------------------------------- Alexander Duyck (1): dma-direct: fix return value of dma_direct_supported
Christoph Hellwig (24): hexagon: remove the sync_single_for_cpu DMA operation hexagon: implement the sync_sg_for_device DMA operation hexagon: use generic dma_noncoherent_ops arm-nommu: don't define arch_teardown_dma_ops dma-mapping: remove dma_configure dma-mapping: remove dma_deconfigure dma-mapping: clear dev->dma_ops in arch_teardown_dma_ops dma-mapping: add the missing ARCH_HAS_SYNC_DMA_FOR_CPU_ALL declaration MIPS: don't select DMA_MAYBE_COHERENT from DMA_PERDEV_COHERENT dma-mapping: move the dma_coherent flag to struct device dma-mapping: merge direct and noncoherent ops dma-mapping: consolidate the dma mmap implementations dma-mapping: support non-coherent devices in dma_common_get_sgtable Revert "dma-mapping: clear dev->dma_ops in arch_teardown_dma_ops" unicore32: remove swiotlb support dma-mapping: make the get_required_mask method available unconditionally dma-direct: add an explicit dma_direct_get_required_mask dma-direct: refine dma_direct_alloc zone selection dma-direct: implement complete bus_dma_mask handling dma-direct: always allow dma mask <= physiscal memory size dma-mapping: move dma_default_get_required_mask under ifdef dma-direct: document the zone selection logic dma-mapping: translate __GFP_NOFAIL to DMA_ATTR_NO_WARN dma-direct: respect DMA_ATTR_NO_WARN
He Zhe (1): dma-mapping: fix panic caused by passing empty cma command line argument
Stephen Boyd (1): dma-debug: Check for drivers mapping invalid addresses in dma_map_single()
arch/arc/Kconfig | 4 +- arch/arc/mm/dma.c | 41 ++---- arch/arm/include/asm/dma-mapping.h | 2 + arch/arm/mm/dma-mapping-nommu.c | 11 +- arch/c6x/Kconfig | 2 +- arch/hexagon/Kconfig | 2 + arch/hexagon/include/asm/Kbuild | 1 + arch/hexagon/include/asm/dma-mapping.h | 40 ------ arch/hexagon/kernel/dma.c | 143 ++------------------ arch/ia64/include/asm/dma-mapping.h | 2 - arch/ia64/include/asm/machvec.h | 7 - arch/ia64/include/asm/machvec_init.h | 1 - arch/ia64/include/asm/machvec_sn2.h | 2 - arch/ia64/pci/pci.c | 26 ---- arch/ia64/sn/pci/pci_dma.c | 4 +- arch/m68k/Kconfig | 2 +- arch/microblaze/Kconfig | 4 +- arch/microblaze/include/asm/pgtable.h | 2 - arch/microblaze/kernel/dma.c | 22 --- arch/microblaze/mm/consistent.c | 3 +- arch/mips/Kconfig | 7 +- arch/mips/include/asm/Kbuild | 1 + arch/mips/include/asm/device.h | 19 --- arch/mips/include/asm/dma-coherence.h | 6 + arch/mips/include/asm/dma-mapping.h | 4 +- arch/mips/jazz/jazzdma.c | 7 +- arch/mips/kernel/setup.c | 2 +- arch/mips/mm/c-r4k.c | 17 ++- arch/mips/mm/dma-noncoherent.c | 79 +++-------- arch/nds32/Kconfig | 2 +- arch/nios2/Kconfig | 2 +- arch/openrisc/Kconfig | 2 +- arch/parisc/Kconfig | 2 +- arch/parisc/kernel/setup.c | 2 +- arch/sh/Kconfig | 3 +- arch/sparc/Kconfig | 2 +- arch/sparc/include/asm/dma-mapping.h | 4 +- arch/unicore32/Kconfig | 2 +- arch/unicore32/include/asm/Kbuild | 1 + arch/unicore32/include/asm/dma-mapping.h | 22 --- arch/unicore32/mm/init.c | 3 - arch/x86/kernel/amd_gart_64.c | 6 +- arch/xtensa/Kconfig | 2 +- drivers/acpi/arm64/iort.c | 2 +- drivers/acpi/scan.c | 10 -- drivers/base/dd.c | 12 +- drivers/base/platform.c | 11 +- drivers/of/device.c | 12 -- drivers/pci/controller/vmd.c | 4 - drivers/xen/swiotlb-xen.c | 4 +- include/acpi/acpi_bus.h | 1 - include/asm-generic/dma-mapping.h | 9 -- include/linux/acpi.h | 2 - include/linux/device.h | 7 + include/linux/dma-debug.h | 8 ++ include/linux/dma-direct.h | 8 +- include/linux/dma-mapping.h | 42 +++--- include/linux/dma-noncoherent.h | 27 +++- include/linux/of_device.h | 3 - kernel/dma/Kconfig | 19 +-- kernel/dma/Makefile | 1 - kernel/dma/contiguous.c | 6 +- kernel/dma/debug.c | 16 +++ kernel/dma/direct.c | 222 +++++++++++++++++++++++++------ kernel/dma/mapping.c | 71 +++++----- kernel/dma/noncoherent.c | 106 --------------- 66 files changed, 423 insertions(+), 698 deletions(-) delete mode 100644 arch/hexagon/include/asm/dma-mapping.h delete mode 100644 arch/mips/include/asm/device.h delete mode 100644 arch/unicore32/include/asm/dma-mapping.h delete mode 100644 kernel/dma/noncoherent.c
| |