[git pull] IOMMU Updates for Linux v6.1
From: Joerg Roedel
Date: Mon Oct 10 2022 - 08:13:04 EST
Hi Linus,
The following changes since commit f76349cf41451c5c42a99f18a9163377e4b364ff:
Linux 6.0-rc7 (2022-09-25 14:01:02 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-updates-v6.1
for you to fetch changes up to 38713c6028a3172c4c256512c3fbcfc799fe2d43:
Merge branches 'apple/dart', 'arm/mediatek', 'arm/omap', 'arm/smmu', 'virtio', 'x86/vt-d', 'x86/amd' and 'core' into next (2022-09-26 15:52:31 +0200)
----------------------------------------------------------------
IOMMU Updates for Linux v6.1:
Including:
- Removal of the bus_set_iommu() interface which became
unnecesary because of IOMMU per-device probing
- Make the dma-iommu.h header private
- Intel VT-d changes from Lu Baolu:
- Decouple PASID and PRI from SVA
- Add ESRTPS & ESIRTPS capability check
- Cleanups
- Apple DART support for the M1 Pro/MAX SOCs
- Support for AMD IOMMUv2 page-tables for the DMA-API layer. The
v2 page-tables are compatible with the x86 CPU page-tables.
Using them for DMA-API prepares support for hardware-assisted
IOMMU virtualization
- Support for MT6795 Helio X10 M4Us in the Mediatek IOMMU driver
- Some smaller fixes and cleanups
----------------------------------------------------------------
Andy Shevchenko (2):
iommu: Do not dereference fwnode in struct device
iommu/virtio: Do not dereference fwnode in struct device
AngeloGioacchino Del Regno (3):
dt-bindings: mediatek: Add bindings for MT6795 M4U
iommu/mediatek: Introduce new flag TF_PORT_TO_ADDR_MT8173
iommu/mediatek: Add support for MT6795 Helio X10 M4Us
Dan Carpenter (1):
iommu/omap: Fix buffer overflow in debugfs
Janne Grunau (1):
iommu/io-pgtable: Move Apple DART support to its own file
Jean-Philippe Brucker (1):
dt-bindings: iommu: arm,smmu-v3: Relax order of interrupt names
Joerg Roedel (3):
Merge branch 'iommu/fixes' into core
iommu/virtio: Fix compile error with viommu_capable()
Merge branches 'apple/dart', 'arm/mediatek', 'arm/omap', 'arm/smmu', 'virtio', 'x86/vt-d', 'x86/amd' and 'core' into next
John Garry (3):
iova: Remove some magazine pointer NULL checks
iova: Remove magazine BUG_ON() checks
iova: Remove iovad->rcaches check in iova_rcache_get()
Lu Baolu (5):
iommu/vt-d: Remove unnecessary SVA data accesses in page fault path
iommu/vt-d: Decouple PASID & PRI enabling from SVA
iommu/vt-d: Remove pasid_set_eafe()
iommu/vt-d: Avoid unnecessary global IRTE cache invalidation
iommu/vt-d: Avoid unnecessary global DMA cache invalidation
Matthew Rosato (1):
iommu/s390: Fail probe for non-PCI devices
Robin Murphy (22):
iommu: Retire iommu_capable()
iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY better
iommu/io-pgtable-arm: Remove iommu_dev==NULL special case
iommu/vt-d: Handle race between registration and device probe
iommu/amd: Handle race between registration and device probe
iommu: Always register bus notifiers
iommu: Move bus setup to IOMMU device registration
iommu/amd: Clean up bus_set_iommu()
iommu/arm-smmu: Clean up bus_set_iommu()
iommu/arm-smmu-v3: Clean up bus_set_iommu()
iommu/dart: Clean up bus_set_iommu()
iommu/exynos: Clean up bus_set_iommu()
iommu/ipmmu-vmsa: Clean up bus_set_iommu()
iommu/mtk: Clean up bus_set_iommu()
iommu/omap: Clean up bus_set_iommu()
iommu/tegra-smmu: Clean up bus_set_iommu()
iommu/virtio: Clean up bus_set_iommu()
iommu: Clean up bus_set_iommu()
iommu/dma: Clean up Kconfig
iommu/dma: Move public interfaces to linux/iommu.h
iommu/dma: Make header private
iommu/iova: Fix module config properly
Suravee Suthikulpanit (4):
iommu/amd: Refactor amd_iommu_domain_enable_v2 to remove locking
iommu/amd: Update sanity check when enable PRI/ATS for IOMMU v1 table
iommu/amd: Add support for Guest IO protection
iommu/amd: Add support for using AMD IOMMU v2 page table for DMA-API
Sven Peter (3):
iommu/io-pgtable: Add DART subpage protection support
iommu/io-pgtable-dart: Add DART PTE support for t6000
iommu: dart: Support t6000 variant
Vasant Hegde (9):
iommu/amd/io-pgtable: Implement map_pages io_pgtable_ops callback
iommu/amd/io-pgtable: Implement unmap_pages io_pgtable_ops callback
iommu/amd: Add map/unmap_pages() iommu_domain_ops callback support
iommu/amd: Initial support for AMD IOMMU v2 page table
iommu/amd: Add command-line option to enable different page table
iommu/amd: Free domain id in error path
iommu/amd: Free domain ID after domain_flush_pages
iommu/amd: Remove outdated comment
iommu/amd: Fix sparse warning
Yi Liu (1):
iommu/vt-d: Rename cap_5lp_support to cap_fl5lp_support
Yuan Can (2):
iommu: Remove comment of dev_has_feat in struct doc
iommu: Remove duplicate ida_free in iommu_group_alloc
Documentation/admin-guide/kernel-parameters.txt | 2 +
.../devicetree/bindings/iommu/arm,smmu-v3.yaml | 15 +-
.../devicetree/bindings/iommu/mediatek,iommu.yaml | 4 +
MAINTAINERS | 3 +-
arch/arm64/Kconfig | 1 -
arch/arm64/mm/dma-mapping.c | 2 +-
drivers/acpi/viot.c | 1 -
drivers/gpu/drm/exynos/exynos_drm_dma.c | 1 -
drivers/iommu/Kconfig | 16 +-
drivers/iommu/Makefile | 1 +
drivers/iommu/amd/Kconfig | 1 -
drivers/iommu/amd/Makefile | 2 +-
drivers/iommu/amd/amd_iommu.h | 1 -
drivers/iommu/amd/amd_iommu_types.h | 10 +-
drivers/iommu/amd/init.c | 47 ++-
drivers/iommu/amd/io_pgtable.c | 76 ++--
drivers/iommu/amd/io_pgtable_v2.c | 415 ++++++++++++++++++
drivers/iommu/amd/iommu.c | 164 ++++---
drivers/iommu/apple-dart.c | 57 ++-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 62 +--
drivers/iommu/arm/arm-smmu/arm-smmu.c | 97 +----
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 6 +-
drivers/iommu/dma-iommu.c | 18 +-
drivers/iommu/dma-iommu.h | 42 ++
drivers/iommu/exynos-iommu.c | 9 -
drivers/iommu/fsl_pamu_domain.c | 6 +-
drivers/iommu/intel/Kconfig | 6 +-
drivers/iommu/intel/cap_audit.c | 4 +-
drivers/iommu/intel/iommu.c | 95 ++---
drivers/iommu/intel/iommu.h | 7 +-
drivers/iommu/intel/irq_remapping.c | 6 +-
drivers/iommu/intel/pasid.c | 12 +-
drivers/iommu/intel/svm.c | 62 +--
drivers/iommu/io-pgtable-arm.c | 71 +---
drivers/iommu/io-pgtable-dart.c | 469 +++++++++++++++++++++
drivers/iommu/io-pgtable.c | 4 +
drivers/iommu/iommu.c | 154 +++----
drivers/iommu/iova.c | 13 +-
drivers/iommu/ipmmu-vmsa.c | 35 +-
drivers/iommu/msm_iommu.c | 2 -
drivers/iommu/mtk_iommu.c | 45 +-
drivers/iommu/mtk_iommu_v1.c | 13 +-
drivers/iommu/omap-iommu-debug.c | 6 +-
drivers/iommu/omap-iommu.c | 6 -
drivers/iommu/rockchip-iommu.c | 2 -
drivers/iommu/s390-iommu.c | 15 +-
drivers/iommu/sprd-iommu.c | 5 -
drivers/iommu/sun50i-iommu.c | 2 -
drivers/iommu/tegra-smmu.c | 29 +-
drivers/iommu/virtio-iommu.c | 32 +-
drivers/irqchip/irq-gic-v2m.c | 2 +-
drivers/irqchip/irq-gic-v3-its.c | 2 +-
drivers/irqchip/irq-gic-v3-mbi.c | 2 +-
drivers/irqchip/irq-ls-scfg-msi.c | 2 +-
drivers/vfio/vfio_iommu_type1.c | 1 -
include/dt-bindings/memory/mt6795-larb-port.h | 95 +++++
include/linux/dma-iommu.h | 93 ----
include/linux/io-pgtable.h | 3 +
include/linux/iommu.h | 47 ++-
include/linux/iova.h | 2 +-
60 files changed, 1501 insertions(+), 902 deletions(-)
create mode 100644 drivers/iommu/amd/io_pgtable_v2.c
create mode 100644 drivers/iommu/dma-iommu.h
create mode 100644 drivers/iommu/io-pgtable-dart.c
create mode 100644 include/dt-bindings/memory/mt6795-larb-port.h
delete mode 100644 include/linux/dma-iommu.h
Please pull.
Thanks,
Joerg
Attachment:
signature.asc
Description: Digital signature