remove default fallbacks in dma_map_ops v3

From: Christoph Hellwig
Date: Thu Aug 08 2019 - 12:00:35 EST


Hi all,

we have a few places where the DMA mapping layer has non-trivial default
actions that are questionable and/or dangerous.

This series instead wires up the mmap, get_sgtable and get_required_mask
methods explicitly and cleans up some surrounding areas. This also means
we could get rid of the ARCH_NO_COHERENT_DMA_MMAP kconfig option, as we
now require a mmap method wired up, or in case of non-coherent dma-direct
the presence of the arch_dma_coherent_to_pfn hook. The only interesting
case is that the sound code also checked the ARCH_NO_COHERENT_DMA_MMAP
symbol in somewhat odd ways, so I'd like to see a review of the sound
situation before going forward with that patch.

Changes since v2:
- fix use of dma_can_mmap in alsa
- improve the CONFIG_* mess a little more

Changes since v1:
- add a dma_can_mmap helper for alsa