Commit 9ae0b37e authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'iommu-fixes-v4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

Pull IOMMU fixes from Joerg Roedel:

 - two Kconfig fixes to fix dependencies that cause compile failures
   when they are not fulfilled.

 - a section mismatch fix for Intel VT-d

 - a fix for PCI topology detection in ARM device-tree code

* tag 'iommu-fixes-v4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
  iommu/of: Remove PCI host bridge node check
  iommu/qcom: Depend on HAS_DMA to fix compile error
  iommu/vt-d: Fix harmless section mismatch warning
  iommu: Add missing dependencies
parents d21b8ea7 c0d05cde
...@@ -278,7 +278,7 @@ config EXYNOS_IOMMU_DEBUG ...@@ -278,7 +278,7 @@ config EXYNOS_IOMMU_DEBUG
config IPMMU_VMSA config IPMMU_VMSA
bool "Renesas VMSA-compatible IPMMU" bool "Renesas VMSA-compatible IPMMU"
depends on ARM || IOMMU_DMA depends on ARM || IOMMU_DMA
depends on ARCH_RENESAS || COMPILE_TEST depends on ARCH_RENESAS || (COMPILE_TEST && !GENERIC_ATOMIC64)
select IOMMU_API select IOMMU_API
select IOMMU_IO_PGTABLE_LPAE select IOMMU_IO_PGTABLE_LPAE
select ARM_DMA_USE_IOMMU select ARM_DMA_USE_IOMMU
...@@ -373,7 +373,8 @@ config MTK_IOMMU_V1 ...@@ -373,7 +373,8 @@ config MTK_IOMMU_V1
config QCOM_IOMMU config QCOM_IOMMU
# Note: iommu drivers cannot (yet?) be built as modules # Note: iommu drivers cannot (yet?) be built as modules
bool "Qualcomm IOMMU Support" bool "Qualcomm IOMMU Support"
depends on ARCH_QCOM || COMPILE_TEST depends on ARCH_QCOM || (COMPILE_TEST && !GENERIC_ATOMIC64)
depends on HAS_DMA
select IOMMU_API select IOMMU_API
select IOMMU_IO_PGTABLE_LPAE select IOMMU_IO_PGTABLE_LPAE
select ARM_DMA_USE_IOMMU select ARM_DMA_USE_IOMMU
......
...@@ -497,7 +497,7 @@ static int dmar_parse_one_rhsa(struct acpi_dmar_header *header, void *arg) ...@@ -497,7 +497,7 @@ static int dmar_parse_one_rhsa(struct acpi_dmar_header *header, void *arg)
#define dmar_parse_one_rhsa dmar_res_noop #define dmar_parse_one_rhsa dmar_res_noop
#endif #endif
static void __init static void
dmar_table_print_dmar_entry(struct acpi_dmar_header *header) dmar_table_print_dmar_entry(struct acpi_dmar_header *header)
{ {
struct acpi_dmar_hardware_unit *drhd; struct acpi_dmar_hardware_unit *drhd;
......
...@@ -157,10 +157,7 @@ static int of_pci_iommu_init(struct pci_dev *pdev, u16 alias, void *data) ...@@ -157,10 +157,7 @@ static int of_pci_iommu_init(struct pci_dev *pdev, u16 alias, void *data)
err = of_iommu_xlate(info->dev, &iommu_spec); err = of_iommu_xlate(info->dev, &iommu_spec);
of_node_put(iommu_spec.np); of_node_put(iommu_spec.np);
if (err) return err;
return err;
return info->np == pdev->bus->dev.of_node;
} }
const struct iommu_ops *of_iommu_configure(struct device *dev, const struct iommu_ops *of_iommu_configure(struct device *dev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment