[GIT PULL] (swiotlb) stable/for-linus-5.15

From: Konrad Rzeszutek Wilk
Date: Wed Sep 01 2021 - 17:09:27 EST


Hey Linus,

Please git pull the following branch:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git stable/for-linus-5.15

which has a new feature called restricted DMA pools. It allows SWIOTLB to utilize
per-device (or per-platform) allocated memory pools instead of using the global one.

The first big user of this is ARM Confidential Computing where the memory for DMA
operations can be set per platform.

Please pull:

.../bindings/reserved-memory/reserved-memory.txt | 36 ++-
arch/powerpc/platforms/pseries/svm.c | 6 +
arch/s390/mm/init.c | 2 +-
drivers/base/core.c | 4 +
drivers/gpu/drm/i915/gem/i915_gem_internal.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_ttm.c | 2 +-
drivers/iommu/dma-iommu.c | 12 +-
drivers/of/device.c | 40 +++
drivers/pci/xen-pcifront.c | 2 +-
drivers/xen/swiotlb-xen.c | 8 +-
include/linux/device.h | 4 +
include/linux/swiotlb.h | 57 +++-
kernel/dma/Kconfig | 13 +
kernel/dma/direct.c | 59 +++-
kernel/dma/direct.h | 8 +-
kernel/dma/swiotlb.c | 352 +++++++++++++++------
16 files changed, 469 insertions(+), 138 deletions(-)

Claire Chang (14):
swiotlb: Refactor swiotlb init functions
swiotlb: Refactor swiotlb_create_debugfs
swiotlb: Set dev->dma_io_tlb_mem to the swiotlb pool used
swiotlb: Update is_swiotlb_buffer to add a struct device argument
swiotlb: Update is_swiotlb_active to add a struct device argument
swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing
swiotlb: Move alloc_size to swiotlb_find_slots
swiotlb: Refactor swiotlb_tbl_unmap_single
swiotlb: Add restricted DMA alloc/free support
swiotlb: Add restricted DMA pool initialization
dt-bindings: of: Add restricted DMA pool
of: Add plumbing for restricted DMA pool
swiotlb: fix implicit debugfs declarations
swiotlb: use depends on for DMA_RESTRICTED_POOL

Dominique Martinet (1):
swiotlb: add overflow checks to swiotlb_bounce

Halil Pasic (1):
s390/pv: fix the forcing of the swiotlb

Will Deacon (7):
of: Return success from of_dma_set_restricted_buffer() when !OF_ADDRESS
swiotlb: Convert io_default_tlb_mem to static allocation
swiotlb: Emit diagnostic in swiotlb_exit()
swiotlb: Free tbl memory in swiotlb_exit()
powerpc/svm: Don't issue ultracalls if !mem_encrypt_active()
of: Move of_dma_set_restricted_buffer() into device.c
of: restricted dma: Don't fail device probe on rmem init failure