Commit ff68eb23 authored by Joerg Roedel's avatar Joerg Roedel
Browse files

Merge branches 'iommu/fixes', 'arm/qcom', 'arm/omap', 'arm/smmu', 'x86/amd',...

Merge branches 'iommu/fixes', 'arm/qcom', 'arm/omap', 'arm/smmu', 'x86/amd', 'x86/vt-d', 'virtio' and 'core' into next
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1426,6 +1426,7 @@ M: Will Deacon <will@kernel.org>
R:	Robin Murphy <robin.murphy@arm.com>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
F:	Documentation/devicetree/bindings/iommu/arm,smmu*
F:	drivers/iommu/arm-smmu*
F:	drivers/iommu/io-pgtable-arm.c
F:	drivers/iommu/io-pgtable-arm-v7s.c
+4 −2
Original line number Diff line number Diff line
@@ -1015,6 +1015,7 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev)
		return ops;

	if (dev_is_pci(dev)) {
		struct iommu_fwspec *fwspec;
		struct pci_bus *bus = to_pci_dev(dev)->bus;
		struct iort_pci_alias_info info = { .dev = dev };

@@ -1027,8 +1028,9 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev)
		err = pci_for_each_dma_alias(to_pci_dev(dev),
					     iort_pci_iommu_init, &info);

		if (!err && iort_pci_rc_supports_ats(node))
			dev->iommu_fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS;
		fwspec = dev_iommu_fwspec_get(dev);
		if (fwspec && iort_pci_rc_supports_ats(node))
			fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS;
	} else {
		int i = 0;

+1 −1
Original line number Diff line number Diff line
@@ -725,7 +725,7 @@ struct msm_kms *mdp5_kms_init(struct drm_device *dev)

	if (config->platform.iommu) {
		iommu_dev = &pdev->dev;
		if (!iommu_dev->iommu_fwspec)
		if (!dev_iommu_fwspec_get(iommu_dev))
			iommu_dev = iommu_dev->parent;

		aspace = msm_gem_address_space_create(iommu_dev,
+11 −10
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@ config INTEL_IOMMU
	select NEED_DMA_MAP_STATE
	select DMAR_TABLE
	select SWIOTLB
	select IOASID
	help
	  DMA remapping (DMAR) devices support enables independent address
	  translations for Direct Memory Access (DMA) from devices.
@@ -273,7 +274,7 @@ config IRQ_REMAP
# OMAP IOMMU support
config OMAP_IOMMU
	bool "OMAP IOMMU Support"
	depends on ARM && MMU
	depends on ARM && MMU || (COMPILE_TEST && (ARM || ARM64 || IA64 || SPARC))
	depends on ARCH_OMAP2PLUS || COMPILE_TEST
	select IOMMU_API
	---help---
@@ -291,7 +292,7 @@ config OMAP_IOMMU_DEBUG

config ROCKCHIP_IOMMU
	bool "Rockchip IOMMU Support"
	depends on ARM || ARM64
	depends on ARM || ARM64 || (COMPILE_TEST && (ARM64 || IA64 || SPARC))
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	select IOMMU_API
	select ARM_DMA_USE_IOMMU
@@ -325,7 +326,7 @@ config TEGRA_IOMMU_SMMU

config EXYNOS_IOMMU
	bool "Exynos IOMMU Support"
	depends on ARCH_EXYNOS && MMU
	depends on ARCH_EXYNOS && MMU || (COMPILE_TEST && (ARM || ARM64 || IA64 || SPARC))
	depends on !CPU_BIG_ENDIAN # revisit driver if we can enable big-endian ptes
	select IOMMU_API
	select ARM_DMA_USE_IOMMU
@@ -361,7 +362,7 @@ config IPMMU_VMSA

config SPAPR_TCE_IOMMU
	bool "sPAPR TCE IOMMU Support"
	depends on PPC_POWERNV || PPC_PSERIES
	depends on PPC_POWERNV || PPC_PSERIES || (PPC && COMPILE_TEST)
	select IOMMU_API
	help
	  Enables bits of IOMMU API required by VFIO. The iommu_ops
@@ -370,7 +371,7 @@ config SPAPR_TCE_IOMMU
# ARM IOMMU support
config ARM_SMMU
	tristate "ARM Ltd. System MMU (SMMU) Support"
	depends on (ARM64 || ARM) && MMU
	depends on (ARM64 || ARM || (COMPILE_TEST && !GENERIC_ATOMIC64)) && MMU
	select IOMMU_API
	select IOMMU_IO_PGTABLE_LPAE
	select ARM_DMA_USE_IOMMU if ARM
@@ -440,7 +441,7 @@ config S390_IOMMU

config S390_CCW_IOMMU
	bool "S390 CCW IOMMU Support"
	depends on S390 && CCW
	depends on S390 && CCW || COMPILE_TEST
	select IOMMU_API
	help
	  Enables bits of IOMMU API required by VFIO. The iommu_ops
@@ -448,7 +449,7 @@ config S390_CCW_IOMMU

config S390_AP_IOMMU
	bool "S390 AP IOMMU Support"
	depends on S390 && ZCRYPT
	depends on S390 && ZCRYPT || COMPILE_TEST
	select IOMMU_API
	help
	  Enables bits of IOMMU API required by VFIO. The iommu_ops
@@ -456,7 +457,7 @@ config S390_AP_IOMMU

config MTK_IOMMU
	bool "MTK IOMMU Support"
	depends on ARM || ARM64
	depends on ARM || ARM64 || COMPILE_TEST
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select ARM_DMA_USE_IOMMU
	select IOMMU_API
@@ -506,8 +507,8 @@ config HYPERV_IOMMU
	  guests to run with x2APIC mode enabled.

config VIRTIO_IOMMU
	bool "Virtio IOMMU driver"
	depends on VIRTIO=y
	tristate "Virtio IOMMU driver"
	depends on VIRTIO
	depends on ARM64
	select IOMMU_API
	select INTERVAL_TREE
+1 −1
Original line number Diff line number Diff line
@@ -348,7 +348,7 @@

#define DTE_GCR3_VAL_A(x)	(((x) >> 12) & 0x00007ULL)
#define DTE_GCR3_VAL_B(x)	(((x) >> 15) & 0x0ffffULL)
#define DTE_GCR3_VAL_C(x)	(((x) >> 31) & 0xfffffULL)
#define DTE_GCR3_VAL_C(x)	(((x) >> 31) & 0x1fffffULL)

#define DTE_GCR3_INDEX_A	0
#define DTE_GCR3_INDEX_B	1
Loading