summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-05-09 18:15:47 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-09 18:15:47 -0400
commit28b47809b2171a6cfbab839936b24280639c9f85 (patch)
tree23c918f66783e269e95680136f80362d9c62070d /drivers/media
parent4a1e31c68e9f40be32838944931178b0d9ed9162 (diff)
parent2c0248d68880fc0e783af1048b3367ee5d4412f0 (diff)
Merge tag 'iommu-updates-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
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 ...
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/mtk-vpu/mtk_vpu.c1
-rw-r--r--drivers/media/platform/omap3isp/isp.c17
-rw-r--r--drivers/media/platform/omap3isp/isp.h1
3 files changed, 1 insertions, 18 deletions
diff --git a/drivers/media/platform/mtk-vpu/mtk_vpu.c b/drivers/media/platform/mtk-vpu/mtk_vpu.c
index aa44e11decca..853d598937f6 100644
--- a/drivers/media/platform/mtk-vpu/mtk_vpu.c
+++ b/drivers/media/platform/mtk-vpu/mtk_vpu.c
@@ -23,6 +23,7 @@
23#include <linux/of_reserved_mem.h> 23#include <linux/of_reserved_mem.h>
24#include <linux/sched.h> 24#include <linux/sched.h>
25#include <linux/sizes.h> 25#include <linux/sizes.h>
26#include <linux/dma-mapping.h>
26 27
27#include "mtk_vpu.h" 28#include "mtk_vpu.h"
28 29
diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c
index 084ecf4aa9a4..0d984a28a003 100644
--- a/drivers/media/platform/omap3isp/isp.c
+++ b/drivers/media/platform/omap3isp/isp.c
@@ -1943,30 +1943,13 @@ static void isp_detach_iommu(struct isp_device *isp)
1943{ 1943{
1944 arm_iommu_release_mapping(isp->mapping); 1944 arm_iommu_release_mapping(isp->mapping);
1945 isp->mapping = NULL; 1945 isp->mapping = NULL;
1946 iommu_group_remove_device(isp->dev);
1947} 1946}
1948 1947
1949static int isp_attach_iommu(struct isp_device *isp) 1948static int isp_attach_iommu(struct isp_device *isp)
1950{ 1949{
1951 struct dma_iommu_mapping *mapping; 1950 struct dma_iommu_mapping *mapping;
1952 struct iommu_group *group;
1953 int ret; 1951 int ret;
1954 1952
1955 /* Create a device group and add the device to it. */
1956 group = iommu_group_alloc();
1957 if (IS_ERR(group)) {
1958 dev_err(isp->dev, "failed to allocate IOMMU group\n");
1959 return PTR_ERR(group);
1960 }
1961
1962 ret = iommu_group_add_device(group, isp->dev);
1963 iommu_group_put(group);
1964
1965 if (ret < 0) {
1966 dev_err(isp->dev, "failed to add device to IPMMU group\n");
1967 return ret;
1968 }
1969
1970 /* 1953 /*
1971 * Create the ARM mapping, used by the ARM DMA mapping core to allocate 1954 * Create the ARM mapping, used by the ARM DMA mapping core to allocate
1972 * VAs. This will allocate a corresponding IOMMU domain. 1955 * VAs. This will allocate a corresponding IOMMU domain.
diff --git a/drivers/media/platform/omap3isp/isp.h b/drivers/media/platform/omap3isp/isp.h
index 7e6f6638433b..2f2ae609c548 100644
--- a/drivers/media/platform/omap3isp/isp.h
+++ b/drivers/media/platform/omap3isp/isp.h
@@ -23,7 +23,6 @@
23#include <linux/clk-provider.h> 23#include <linux/clk-provider.h>
24#include <linux/device.h> 24#include <linux/device.h>
25#include <linux/io.h> 25#include <linux/io.h>
26#include <linux/iommu.h>
27#include <linux/platform_device.h> 26#include <linux/platform_device.h>
28#include <linux/wait.h> 27#include <linux/wait.h>
29 28