Merge tag 'iommu-updates-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 May 2017 22:15:47 +0000 (15:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 May 2017 22:15:47 +0000 (15:15 -0700)
Pull IOMMU updates from Joerg Roedel:

 - code optimizations for the Intel VT-d driver

 - ability to switch off a previously enabled Intel IOMMU

 - support for 'struct iommu_device' for OMAP, Rockchip and Mediatek
   IOMMUs

 - header optimizations for IOMMU core code headers and a few fixes that
   became necessary in other parts of the kernel because of that

 - ACPI/IORT updates and fixes

 - Exynos IOMMU optimizations

 - updates for the IOMMU dma-api code to bring it closer to use per-cpu
   iova caches

 - new command-line option to set default domain type allocated by the
   iommu core code

 - another command line option to allow the Intel IOMMU switched off in
   a tboot environment

 - ARM/SMMU: TLB sync optimisations for SMMUv2, Support for using an
   IDENTITY domain in conjunction with DMA ops, Support for SMR masking,
   Support for 16-bit ASIDs (was previously broken)

 - various other small fixes and improvements

* tag 'iommu-updates-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (63 commits)
  soc/qbman: Move dma-mapping.h include to qman_priv.h
  soc/qbman: Fix implicit header dependency now causing build fails
  iommu: Remove trace-events include from iommu.h
  iommu: Remove pci.h include from trace/events/iommu.h
  arm: dma-mapping: Don't override dma_ops in arch_setup_dma_ops()
  ACPI/IORT: Fix CONFIG_IOMMU_API dependency
  iommu/vt-d: Don't print the failure message when booting non-kdump kernel
  iommu: Move report_iommu_fault() to iommu.c
  iommu: Include device.h in iommu.h
  x86, iommu/vt-d: Add an option to disable Intel IOMMU force on
  iommu/arm-smmu: Return IOVA in iova_to_phys when SMMU is bypassed
  iommu/arm-smmu: Correct sid to mask
  iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid()
  iommu: Make iommu_bus_notifier return NOTIFY_DONE rather than error code
  omap3isp: Remove iommu_group related code
  iommu/omap: Add iommu-group support
  iommu/omap: Make use of 'struct iommu_device'
  iommu/omap: Store iommu_dev pointer in arch_data
  iommu/omap: Move data structures to omap-iommu.h
  iommu/omap: Drop legacy-style device support
  ...

19 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
arch/arm/mm/dma-mapping.c
arch/arm64/mm/dma-mapping.c
arch/x86/kernel/tboot.c
drivers/acpi/arm64/iort.c
drivers/acpi/glue.c
drivers/acpi/scan.c
drivers/base/dma-mapping.c
drivers/infiniband/hw/qedr/main.c
drivers/media/platform/mtk-vpu/mtk_vpu.c
drivers/of/device.c
drivers/of/platform.c
drivers/pci/probe.c
drivers/soc/fsl/qbman/qman_priv.h
include/acpi/acpi_bus.h
include/asm-generic/vmlinux.lds.h
include/linux/acpi.h
include/linux/acpi_iort.h
include/linux/of_device.h

Simple merge
Simple merge
Simple merge
index 22e08d272db7f66969d37744bcc56cb70b10f4f2,a629e83bff242acea477563e93439ecd6ccd8750..c5fecf97ee2f52bd11188a0cd2295bd82d5d02db
@@@ -707,10 -670,11 +765,12 @@@ const struct iommu_ops *iort_iommu_conf
  
                while (parent) {
                        ops = iort_iommu_xlate(dev, parent, streamid);
+                       if (IS_ERR_OR_NULL(ops))
+                               return ops;
  
 -                      parent = iort_node_get_id(node, &streamid,
 -                                                IORT_IOMMU_TYPE, i++);
 +                      parent = iort_node_map_platform_id(node, &streamid,
 +                                                         IORT_IOMMU_TYPE,
 +                                                         i++);
                }
        }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge