This fixes issues with streaming DMA on MIPS and more or less properly fixes support for non 1-to-1 mappings via 'dma-ranges' device tree property. It needs to be tested properly on non-MIPS architectures as I only have tested the compilation for some of those. The differences from RFC include merging two parts of the patch and dropping changes not really related to the matter at hand. Denis Orlov (2): dma: rework dma_sync_single_for_*() interface net: macb: remove const from dev pointer in macb_device arch/arm/cpu/dma_32.c | 17 +++--- arch/arm/cpu/dma_64.c | 13 +++-- arch/arm/cpu/mmu-common.c | 9 ++-- arch/arm/include/asm/dma.h | 12 ++--- arch/arm/mach-bcm283x/mbox.c | 4 +- arch/kvx/lib/dma-default.c | 16 +++--- arch/mips/lib/dma-default.c | 18 +++---- arch/riscv/cpu/dma.c | 23 +++++---- arch/sandbox/include/asm/dma.h | 12 ++--- arch/x86/include/asm/dma.h | 12 ++--- drivers/crypto/caam/caam-blobgen.c | 28 +++++----- drivers/crypto/caam/caamrng.c | 6 +-- drivers/crypto/caam/rng_self_test.c | 6 +-- drivers/dma/Makefile | 1 - drivers/dma/map.c | 39 -------------- drivers/mci/dove-sdhci.c | 8 +-- drivers/mci/stm32_sdmmc2.c | 8 +-- drivers/mci/tegra-sdmmc.c | 8 +-- drivers/net/ag71xx.c | 8 +-- drivers/net/arc_emac.c | 10 ++-- drivers/net/at91_ether.c | 11 ++-- drivers/net/bcmgenet.c | 4 +- drivers/net/cpsw.c | 8 +-- drivers/net/davinci_emac.c | 8 +-- drivers/net/designware.c | 10 ++-- drivers/net/designware_eqos.c | 6 ++- drivers/net/e1000/main.c | 4 +- drivers/net/fec_imx.c | 4 +- drivers/net/fsl-fman.c | 7 +-- drivers/net/macb.c | 22 ++++---- drivers/net/mvneta.c | 8 +-- drivers/net/orion-gbe.c | 8 +-- drivers/net/r8169_main.c | 10 ++-- drivers/usb/gadget/udc/fsl_udc.c | 8 +-- drivers/usb/host/ohci-hcd.c | 7 +-- include/dma.h | 80 ++++++++++++++++++++++------- 36 files changed, 237 insertions(+), 226 deletions(-) delete mode 100644 drivers/dma/map.c -- 2.41.0