lkml.org 
[lkml]   [2022]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[git pull] IOMMU Updates for Linux v5.19
Hi Linus,

Apologies for the late pull request, I know you prefer the main stuff in
the first week. Some vacation and a public holiday came in between here.

So here are the IOMMU updates for 5.19. Some patches are probably
arleady merged via the VFIO tree, namely everyting from the
vfio-notifier-fix topic branch.

Also, there will be a merge conflict in MAINTAINERS and
drivers/iommu/amd/iommu.c. The latter one is resolved by removing the
function in question, for the former I attached my resolution.

With that in mind:

The following changes since commit 42226c989789d8da4af1de0c31070c96726d990c:

Linux 5.18-rc7 (2022-05-15 18:08:58 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-updates-v5.19

for you to fetch changes up to b0dacee202efbf1a5d9f5cdfd82049e8b5b085d2:

Merge branches 'apple/dart', 'arm/mediatek', 'arm/msm', 'arm/smmu', 'ppc/pamu', 'x86/vt-d', 'x86/amd' and 'vfio-notifier-fix' into next (2022-05-20 12:27:17 +0200)

----------------------------------------------------------------
IOMMU Updates for Linux v5.19

Including:

- Intel VT-d driver updates
- Domain force snooping improvement.
- Cleanups, no intentional functional changes.

- ARM SMMU driver updates
- Add new Qualcomm device-tree compatible strings
- Add new Nvidia device-tree compatible string for Tegra234
- Fix UAF in SMMUv3 shared virtual addressing code
- Force identity-mapped domains for users of ye olde SMMU
legacy binding
- Minor cleanups

- Patches to fix a BUG_ON in the vfio_iommu_group_notifier
- Groundwork for upcoming iommufd framework
- Introduction of DMA ownership so that an entire IOMMU group
is either controlled by the kernel or by user-space

- MT8195 and MT8186 support in the Mediatek IOMMU driver

- Patches to make forcing of cache-coherent DMA more coherent
between IOMMU drivers

- Fixes for thunderbolt device DMA protection

- Various smaller fixes and cleanups

----------------------------------------------------------------
Bjorn Andersson (2):
dt-bindings: arm-smmu: Add compatible for Qualcomm SC8280XP
iommu/arm-smmu-qcom: Add SC8280XP support

Christophe Leroy (1):
iommu/fsl_pamu: Prepare cleanup of powerpc's asm/prom.h

Jason Gunthorpe (5):
vfio: Delete the unbound_list
iommu: Introduce the domain op enforce_cache_coherency()
vfio: Move the Intel no-snoop control off of IOMMU_CACHE
iommu: Redefine IOMMU_CAP_CACHE_COHERENCY as the cap flag for IOMMU_CACHE
vfio: Require that devices support DMA cache coherence

Jason Gunthorpe via iommu (1):
iommu: iommu_group_claim_dma_owner() must always assign a domain

Jean-Philippe Brucker (1):
iommu/arm-smmu-v3-sva: Fix mm use-after-free

Joerg Roedel (4):
Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu
iommu/amd: Increase timeout waiting for GA log enablement
Merge tag 'v5.18-rc7' into arm/smmu
Merge branches 'apple/dart', 'arm/mediatek', 'arm/msm', 'arm/smmu', 'ppc/pamu', 'x86/vt-d', 'x86/amd' and 'vfio-notifier-fix' into next

Lu Baolu (17):
iommu: Add DMA ownership management interfaces
driver core: Add dma_cleanup callback in bus_type
amba: Stop sharing platform_dma_configure()
bus: platform,amba,fsl-mc,PCI: Add device DMA ownership management
PCI: pci_stub: Set driver_managed_dma
PCI: portdrv: Set driver_managed_dma
vfio: Set DMA ownership for VFIO devices
vfio: Remove use of vfio_group_viable()
vfio: Remove iommu group notifier
iommu: Remove iommu group changes notifier
iommu/vt-d: Change return type of dmar_insert_one_dev_info()
iommu/vt-d: Fold dmar_insert_one_dev_info() into its caller
iommu/vt-d: Size Page Request Queue to avoid overflow condition
iommu/vt-d: Block force-snoop domain attaching if no SC support
iommu/vt-d: Check domain force_snooping against attached devices
iommu/vt-d: Remove domain_update_iommu_snooping()
iommu/vt-d: Remove hard coding PGSNP bit in PASID entries

Mario Limonciello (3):
iommu/amd: Enable swiotlb in all cases
dma-iommu: Check that swiotlb is active before trying to use it
iommu/amd: Indicate whether DMA remap support is enabled

Matthew Rosato (1):
iommu/s390: Tolerate repeat attach_dev calls

Miles Chen (1):
iommu/mediatek: Fix NULL pointer dereference when printing dev_name

Muhammad Usama Anjum (1):
iommu/vt-d: Remove unneeded validity check on dev

Rob Herring (1):
dt-bindings: iommu: Drop client node in examples

Robin Murphy (5):
iommu: Introduce device_iommu_capable()
iommu: Add capability for pre-boot DMA protection
thunderbolt: Make iommu_dma_protection more accurate
iommu/arm-smmu: Force identity domains for legacy binding
iommu/dma: Explicitly sort PCI DMA windows

Rohit Agarwal (1):
dt-bindings: arm-smmu: Add binding for SDX65 SMMU

Suravee Suthikulpanit (1):
iommu/amd: Do not call sleep while holding spinlock

Sven Peter (1):
MAINTAINERS: Merge DART into ARM/APPLE MACHINE

Thierry Reding (3):
dt-bindings: arm-smmu: Document nvidia,memory-controller property
dt-bindings: arm-smmu: Add compatible for Tegra234 SOC
iommu/arm-smmu: Support Tegra234 SMMU

Vasant Hegde via iommu (1):
iommu/amd: Remove redundant check

Xiaoke Wang (1):
iommu/msm: Add a check for the return of kzalloc()

Xiaomeng Tong (1):
iommu/msm: Fix an incorrect NULL check on list iterator

Yang Yingliang (2):
iommu/arm-smmu: fix possible null-ptr-deref in arm_smmu_device_probe()
iommu/arm-smmu-v3: check return value after calling platform_get_resource()

Yong Wu (36):
dt-bindings: mediatek: mt8195: Add binding for MM IOMMU
dt-bindings: mediatek: mt8195: Add binding for infra IOMMU
dt-bindings: mediatek: mt8186: Add binding for MM iommu
iommu/mediatek: Fix 2 HW sharing pgtable issue
iommu/mediatek: Add list_del in mtk_iommu_remove
iommu/mediatek: Remove clk_disable in mtk_iommu_remove
iommu/mediatek: Add mutex for m4u_group and m4u_dom in data
iommu/mediatek: Add mutex for data in the mtk_iommu_domain
iommu/mediatek: Adapt sharing and non-sharing pgtable case
iommu/mediatek: Add 12G~16G support for multi domains
iommu/mediatek: Add a flag DCM_DISABLE
iommu/mediatek: Add a flag STD_AXI_MODE
iommu/mediatek: Remove the granule in the tlb flush
iommu/mediatek: Always enable output PA over 32bits in isr
iommu/mediatek: Add SUB_COMMON_3BITS flag
iommu/mediatek: Add IOMMU_TYPE flag
iommu/mediatek: Contain MM IOMMU flow with the MM TYPE
iommu/mediatek: Adjust device link when it is sub-common
iommu/mediatek: Allow IOMMU_DOMAIN_UNMANAGED for PCIe VFIO
iommu/mediatek: Add a PM_CLK_AO flag for infra iommu
iommu/mediatek: Add infra iommu support
iommu/mediatek: Add PCIe support
iommu/mediatek: Add mt8195 support
iommu/mediatek: Only adjust code about register base
iommu/mediatek: Just move code position in hw_init
iommu/mediatek: Separate mtk_iommu_data for v1 and v2
iommu/mediatek: Remove mtk_iommu.h
iommu/mediatek-v1: Just rename mtk_iommu to mtk_iommu_v1
iommu/mediatek: Add mtk_iommu_bank_data structure
iommu/mediatek: Initialise bank HW for each a bank
iommu/mediatek: Change the domid to iova_region_id
iommu/mediatek: Get the proper bankid for multi banks
iommu/mediatek: Initialise/Remove for multi bank dev
iommu/mediatek: Backup/restore regsiters for multi banks
iommu/mediatek: mt8195: Enable multi banks for infra iommu
iommu/mediatek: Add mt8186 iommu support

Yunfei Wang (1):
iommu/dma: Fix iova map result check bug

.../devicetree/bindings/iommu/arm,smmu.yaml | 25 +-
.../devicetree/bindings/iommu/mediatek,iommu.yaml | 34 +-
.../devicetree/bindings/iommu/samsung,sysmmu.yaml | 10 -
MAINTAINERS | 10 +-
drivers/amba/bus.c | 37 +-
drivers/base/dd.c | 5 +
drivers/base/platform.c | 21 +-
drivers/bus/fsl-mc/fsl-mc-bus.c | 24 +-
drivers/iommu/amd/amd_iommu_types.h | 4 +
drivers/iommu/amd/init.c | 8 +-
drivers/iommu/amd/iommu.c | 16 +-
drivers/iommu/amd/iommu_v2.c | 12 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 13 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 2 +
drivers/iommu/arm/arm-smmu/arm-smmu-impl.c | 3 +-
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 +
drivers/iommu/arm/arm-smmu/arm-smmu.c | 8 +-
drivers/iommu/dma-iommu.c | 25 +-
drivers/iommu/fsl_pamu.c | 3 +
drivers/iommu/fsl_pamu_domain.c | 1 +
drivers/iommu/intel/iommu.c | 216 ++---
drivers/iommu/intel/pasid.c | 45 +-
drivers/iommu/intel/pasid.h | 2 +
drivers/iommu/iommu.c | 354 +++++---
drivers/iommu/msm_iommu.c | 22 +-
drivers/iommu/mtk_iommu.c | 980 +++++++++++++++------
drivers/iommu/mtk_iommu.h | 101 ---
drivers/iommu/mtk_iommu_v1.c | 242 ++---
drivers/iommu/s390-iommu.c | 15 +-
drivers/pci/of.c | 8 +-
drivers/pci/pci-driver.c | 18 +
drivers/pci/pci-stub.c | 1 +
drivers/pci/pcie/portdrv_pci.c | 2 +
drivers/thunderbolt/domain.c | 12 +-
drivers/thunderbolt/nhi.c | 44 +
drivers/vfio/fsl-mc/vfio_fsl_mc.c | 1 +
drivers/vfio/pci/vfio_pci.c | 1 +
drivers/vfio/platform/vfio_amba.c | 1 +
drivers/vfio/platform/vfio_platform.c | 1 +
drivers/vfio/vfio.c | 252 +-----
drivers/vfio/vfio_iommu_type1.c | 30 +-
include/dt-bindings/memory/mt8186-memory-port.h | 217 +++++
include/dt-bindings/memory/mt8195-memory-port.h | 408 +++++++++
include/dt-bindings/memory/mtk-memory-port.h | 2 +
include/linux/amba/bus.h | 8 +
include/linux/device/bus.h | 3 +
include/linux/fsl/mc.h | 8 +
include/linux/intel-iommu.h | 3 +-
include/linux/intel-svm.h | 2 +-
include/linux/iommu.h | 69 +-
include/linux/pci.h | 8 +
include/linux/platform_device.h | 10 +-
include/linux/thunderbolt.h | 2 +
53 files changed, 2317 insertions(+), 1033 deletions(-)
delete mode 100644 drivers/iommu/mtk_iommu.h
create mode 100644 include/dt-bindings/memory/mt8186-memory-port.h
create mode 100644 include/dt-bindings/memory/mt8195-memory-port.h

Please pull.

Thanks,

Joerg

diff --cc MAINTAINERS
index b85ee59e808b,1f4f4ba84c2e..f1b4b77daa5f
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@@ -1834,9 -1829,8 +1826,10 @@@ F: Documentation/devicetree/bindings/ar
F: Documentation/devicetree/bindings/clock/apple,nco.yaml
F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml
F: Documentation/devicetree/bindings/interrupt-controller/apple,*
+ F: Documentation/devicetree/bindings/iommu/apple,dart.yaml
+F: Documentation/devicetree/bindings/iommu/apple,sart.yaml
F: Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml
+F: Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml
F: Documentation/devicetree/bindings/pci/apple,pcie.yaml
F: Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
F: Documentation/devicetree/bindings/power/apple*
@@@ -1845,9 -1839,9 +1838,10 @@@ F: arch/arm64/boot/dts/apple
F: drivers/clk/clk-apple-nco.c
F: drivers/i2c/busses/i2c-pasemi-core.c
F: drivers/i2c/busses/i2c-pasemi-platform.c
+ F: drivers/iommu/apple-dart.c
F: drivers/irqchip/irq-apple-aic.c
F: drivers/mailbox/apple-mailbox.c
+F: drivers/nvme/host/apple.c
F: drivers/pinctrl/pinctrl-apple-gpio.c
F: drivers/soc/apple/*
F: drivers/watchdog/apple_wdt.c
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2022-05-31 14:38    [W:0.034 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site