support range based offsets in dma-direct

From: Christoph Hellwig
Date: Thu Sep 10 2020 - 01:41:54 EST


Hi all,

this series adds range-based offsets to the dma-direct implementation. The
guts of the change are a patch from Jim with some modifications from me,
but to do it nicely we need to ARM patches to prepare for it as well.

Diffstat:
arch/arm/common/dmabounce.c | 2
arch/arm/include/asm/dma-direct.h | 69 +++++++++++++++++
arch/arm/include/asm/dma-mapping.h | 70 ------------------
arch/arm/mach-keystone/keystone.c | 21 +++--
arch/sh/drivers/pci/pcie-sh7786.c | 9 +-
arch/x86/pci/sta2x11-fixup.c | 6 +
drivers/acpi/arm64/iort.c | 6 +
drivers/base/core.c | 2
drivers/gpu/drm/sun4i/sun4i_backend.c | 8 +-
drivers/iommu/io-pgtable-arm.c | 2
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c | 9 ++
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 11 ++
drivers/of/address.c | 73 ++++++++----------
drivers/of/device.c | 44 +++++++----
drivers/of/of_private.h | 11 +-
drivers/of/unittest.c | 34 ++++++--
drivers/remoteproc/remoteproc_core.c | 4 -
drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 10 ++
drivers/usb/core/message.c | 5 -
drivers/usb/core/usb.c | 3
include/linux/device.h | 4 -
include/linux/dma-direct.h | 52 +++++++++++--
include/linux/dma-mapping.h | 19 ++++
kernel/dma/coherent.c | 7 -
kernel/dma/direct.c | 81 ++++++++++++++++++++-
25 files changed, 373 insertions(+), 189 deletions(-)