Hi all,
This is version four of the patches I previously posted here:
v1: https://lore.kernel.org/lkml/20191030145112.19738-1-will@xxxxxxxxxx/
v2: https://lore.kernel.org/lkml/20191108151608.20932-1-will@xxxxxxxxxx
v3: https://lore.kernel.org/lkml/20191121114918.2293-1-will@xxxxxxxxxx
Changes since v3 include:
* Based on v5.5-rc1
* ACPI/IORT support (thanks to Ard)
* Export pci_{enable,disable}_ats() (thanks to Greg)
* Added review tags
I tested this on AMD Seattle by loading arm-smmu-mod.ko from the initrd.
Cheers,
Will
Cc: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx>
Cc: Jordan Crouse <jcrouse@xxxxxxxxxxxxxx>
Cc: John Garry <john.garry@xxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Saravana Kannan <saravanak@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: "Isaac J. Manjarres" <isaacm@xxxxxxxxxxxxxx>
Cc: Robin Murphy <robin.murphy@xxxxxxx>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Cc: Joerg Roedel <joro@xxxxxxxxxx>
Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
--->8
Ard Biesheuvel (1):
iommu/arm-smmu: Support SMMU module probing from the IORT
Greg Kroah-Hartman (1):
PCI/ATS: Restore EXPORT_SYMBOL_GPL() for pci_{enable,disable}_ats()
Will Deacon (14):
drivers/iommu: Export core IOMMU API symbols to permit modular drivers
iommu/of: Request ACS from the PCI core when configuring IOMMU linkage
PCI: Export pci_ats_disabled() as a GPL symbol to modules
drivers/iommu: Take a ref to the IOMMU driver prior to ->add_device()
iommu/of: Take a ref to the IOMMU driver during ->of_xlate()
drivers/iommu: Allow IOMMU bus ops to be unregistered
Revert "iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular"
Revert "iommu/arm-smmu: Make arm-smmu explicitly non-modular"
iommu/arm-smmu: Prevent forced unbinding of Arm SMMU drivers
iommu/arm-smmu-v3: Unregister IOMMU and bus ops on device removal
iommu/arm-smmu-v3: Allow building as a module
iommu/arm-smmu: Unregister IOMMU and bus ops on device removal
iommu/arm-smmu: Allow building as a module
iommu/arm-smmu: Update my email address in MODULE_AUTHOR()
drivers/acpi/arm64/iort.c | 4 +-
drivers/iommu/Kconfig | 16 ++++-
drivers/iommu/Makefile | 3 +-
drivers/iommu/arm-smmu-v3.c | 94 +++++++++++++++++---------
drivers/iommu/arm-smmu.c | 128 +++++++++++++++++++++++++-----------
drivers/iommu/iommu-sysfs.c | 5 ++
drivers/iommu/iommu.c | 32 ++++++++-
drivers/iommu/of_iommu.c | 19 ++++--
drivers/pci/ats.c | 2 +
drivers/pci/pci.c | 1 +
include/linux/iommu.h | 4 +-
11 files changed, 223 insertions(+), 85 deletions(-)