[git pull] IOMMU Updates for Linux v5.1

From: Joerg Roedel
Date: Fri Mar 08 2019 - 04:34:33 EST


Hi Linus,

The following changes since commit 5908e6b738e3357af42c10e1183753c70a0117a9:

Linux 5.0-rc8 (2019-02-24 16:46:45 -0800)

are available in the Git repository at:

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

for you to fetch changes up to d05e4c8600c36084ce9de6249bb972c9bdd75b7e:

Merge branches 'iommu/fixes', 'arm/msm', 'arm/tegra', 'arm/mediatek', 'x86/vt-d', 'x86/amd', 'hyper-v' and 'core' into next (2019-03-01 11:24:51 +0100)

----------------------------------------------------------------
IOMMU Updates for Linux v5.1

Including:

- A big cleanup and optimization patch-set for the
Tegra GART driver

- Documentation updates and fixes for the IOMMU-API

- Support for page request in Intel VT-d scalable mode

- Intel VT-d dma_[un]map_resource() support

- Updates to the ATS enabling code for PCI (acked by Bjorn) and
Intel VT-d to align with the latest version of the ATS spec

- Relaxed IRQ source checking in the Intel VT-d driver for some
aliased devices, needed for future devices which send IRQ
messages from more than on request-ID

- IRQ remapping driver for Hyper-V

- Patches to make generic IOVA and IO-Page-Table code usable
outside of the IOMMU code

- Various other small fixes and cleanups

----------------------------------------------------------------
Bjorn Helgaas (6):
iommu: Use dev_printk() when possible
iommu/amd: Use dev_printk() when possible
iommu/vt-d: Use dev_printk() when possible
iommu/vt-d: Remove unnecessary local variable initializations
iommu/vt-d: Remove unused dmar_remove_one_dev_info() argument
iommu/vt-d: Remove misleading "domain 0" test from domain_exit()

Dmitry Osipenko (24):
iommu/tegra: gart: Remove pr_fmt and clean up includes
iommu/tegra: gart: Clean up driver probe errors handling
iommu/tegra: gart: Ignore devices without IOMMU phandle in DT
iommu: Introduce iotlb_sync_map callback
iommu/tegra: gart: Optimize mapping / unmapping performance
dt-bindings: memory: tegra: Squash tegra20-gart into tegra20-mc
ARM: dts: tegra20: Update Memory Controller node to the new binding
memory: tegra: Don't invoke Tegra30+ specific memory timing setup on Tegra20
memory: tegra: Adapt to Tegra20 device-tree binding changes
memory: tegra: Read client ID on GART page fault
memory: tegra: Use of_device_get_match_data()
memory: tegra: Use relaxed versions of readl/writel
iommu/tegra: gart: Integrate with Memory Controller driver
memory: tegra: Do not try to probe SMMU on Tegra20
memory: tegra: Do not ask for IRQ sharing
memory: tegra: Clean up error messages
iommu/tegra: gart: Fix spinlock recursion
iommu/tegra: gart: Fix NULL pointer dereference
iommu/tegra: gart: Allow only one active domain at a time
iommu/tegra: gart: Don't use managed resources
iommu/tegra: gart: Prepend error/debug messages with "gart:"
iommu/tegra: gart: Don't detach devices from inactive domains
iommu/tegra: gart: Simplify clients-tracking code
iommu/tegra: gart: Perform code refactoring

Geert Uytterhoeven (3):
iommu: Document iommu_ops.iotlb_sync_map()
iommu: Document iommu_ops.is_attach_deferred()
iommu: Fix IOMMU debugfs fallout

Jacob Pan (1):
iommu/vt-d: Support page request in scalable mode

Jerry Snitselaar (1):
iommu/amd: Print reason for iommu_map_page failure in map_sg

Joerg Roedel (1):
Merge branches 'iommu/fixes', 'arm/msm', 'arm/tegra', 'arm/mediatek', 'x86/vt-d', 'x86/amd', 'hyper-v' and 'core' into next

Julia Cartwright (1):
iommu/dmar: Fix buffer overflow during PCI bus notification

Julia Lawall (1):
iommu/msm: Reduce indentation

Kuppuswamy Sathyanarayanan (5):
PCI/ATS: Add pci_prg_resp_pasid_required() interface.
iommu/vt-d: Fix PRI/PASID dependency issue.
PCI/ATS: Add pci_ats_page_aligned() interface
iommu/vt-d: Enable ATS only if the device uses page aligned address.
PCI/ATS: Add inline to pci_prg_resp_pasid_required()

Lan Tianyu (3):
x86/Hyper-V: Set x2apic destination mode to physical when x2apic is available
iommu/hyper-v: Add Hyper-V stub IOMMU driver
MAINTAINERS: Add Hyper-V IOMMU driver into Hyper-V CORE AND DRIVERS scope

Logan Gunthorpe (3):
iommu/vt-d: Implement dma_[un]map_resource()
iommu/vt-d: Add helper to set an IRTE to verify only the bus number
iommu/vt-d: Allow interrupts from the entire bus for aliased devices

Lu Baolu (5):
iommu/vt-d: Check identity map for hot-added devices
iommu/vt-d: Disable ATS support on untrusted devices
iommu/vt-d: Set context field after value initialized
iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm()
iommu/vt-d: Get domain ID before clear pasid entry

Nicolas Boichat (1):
iommu/io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables

Peter Xu (2):
iommu/amd: Remove clear_flush_young notifier
iommu/vt-d: Remove change_pte notifier

Rob Herring (1):
iommu: Allow io-pgtable to be used outside of drivers/iommu/

Sakari Ailus (1):
iommu/iova: Allow compiling the library without IOMMU support

Shaokun Zhang (1):
iommu/dma: Remove unused variable

Tom Murphy (1):
iommu: Fix flush_tlb_all typo

Yang Wei (1):
iommu/mediatek: Fix semicolon code style issue

.../bindings/iommu/nvidia,tegra20-gart.txt | 14 -
.../memory-controllers/nvidia,tegra20-mc.txt | 27 +-
MAINTAINERS | 1 +
arch/arm/boot/dts/tegra20.dtsi | 15 +-
arch/x86/kernel/cpu/mshyperv.c | 12 +
drivers/Makefile | 2 +-
drivers/iommu/Kconfig | 17 +-
drivers/iommu/Makefile | 1 +
drivers/iommu/amd_iommu.c | 28 +-
drivers/iommu/amd_iommu_init.c | 20 +-
drivers/iommu/amd_iommu_v2.c | 24 --
drivers/iommu/arm-smmu-v3.c | 3 +-
drivers/iommu/arm-smmu.c | 2 +-
drivers/iommu/dma-iommu.c | 3 +-
drivers/iommu/dmar.c | 2 +-
drivers/iommu/hyperv-iommu.c | 196 +++++++++
drivers/iommu/intel-iommu.c | 158 +++----
drivers/iommu/intel-pasid.c | 2 +-
drivers/iommu/intel-svm.c | 88 ++--
drivers/iommu/intel_irq_remapping.c | 32 +-
drivers/iommu/io-pgtable-arm-v7s.c | 6 +-
drivers/iommu/io-pgtable-arm.c | 3 +-
drivers/iommu/io-pgtable.c | 5 +-
drivers/iommu/iommu-debugfs.c | 23 +-
drivers/iommu/iommu.c | 16 +-
drivers/iommu/ipmmu-vmsa.c | 3 +-
drivers/iommu/irq_remapping.c | 3 +
drivers/iommu/irq_remapping.h | 1 +
drivers/iommu/msm_iommu.c | 10 +-
drivers/iommu/mtk_iommu.h | 3 +-
drivers/iommu/mtk_iommu_v1.c | 2 +-
drivers/iommu/qcom_iommu.c | 2 +-
drivers/iommu/tegra-gart.c | 473 ++++++++-------------
drivers/iommu/tegra-smmu.c | 4 -
drivers/memory/tegra/mc.c | 118 +++--
drivers/memory/tegra/mc.h | 10 +-
drivers/pci/ats.c | 57 +++
include/linux/intel-iommu.h | 21 +-
include/linux/intel-svm.h | 2 +-
{drivers/iommu => include/linux}/io-pgtable.h | 0
include/linux/iommu.h | 6 +-
include/linux/pci-ats.h | 5 +
include/linux/pci.h | 2 +
include/soc/tegra/mc.h | 27 +-
include/uapi/linux/pci_regs.h | 2 +
45 files changed, 839 insertions(+), 612 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/iommu/nvidia,tegra20-gart.txt
create mode 100644 drivers/iommu/hyperv-iommu.c
rename {drivers/iommu => include/linux}/io-pgtable.h (100%)

Please pull.

Thanks,

Joerg

Attachment: signature.asc
Description: Digital signature