浏览代码

omap: iommu/iovmm: move to dedicated iommu folder

Move OMAP's iommu drivers to the dedicated iommu drivers folder.

While OMAP's iovmm (virtual memory manager) driver does not strictly
belong to the iommu drivers folder, move it there as well, because
it's by no means OMAP-specific (in concept. technically it is still
coupled with OMAP's iommu).

Eventually, iovmm will be completely replaced with the generic,
iommu-based, dma-mapping API.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Ohad Ben-Cohen 14 年之前
父节点
当前提交
fcf3a6ef4a

+ 0 - 14
arch/arm/plat-omap/Kconfig

@@ -132,20 +132,6 @@ config OMAP_MBOX_KFIFO_SIZE
 	  This can also be changed at runtime (via the mbox_kfifo_size
 	  This can also be changed at runtime (via the mbox_kfifo_size
 	  module parameter).
 	  module parameter).
 
 
-#can't be tristate; iommu api doesn't support un-registration
-config OMAP_IOMMU
-	bool
-	select IOMMU_API
-
-config OMAP_IOMMU_DEBUG
-       tristate "Export OMAP IOMMU internals in DebugFS"
-       depends on OMAP_IOMMU && DEBUG_FS
-       help
-         Select this to see extensive information about
-         the internal state of OMAP IOMMU in debugfs.
-
-         Say N unless you know you need this.
-
 config OMAP_IOMMU_IVA2
 config OMAP_IOMMU_IVA2
 	bool
 	bool
 
 

+ 0 - 2
arch/arm/plat-omap/Makefile

@@ -18,8 +18,6 @@ obj-$(CONFIG_ARCH_OMAP3) += omap_device.o
 obj-$(CONFIG_ARCH_OMAP4) += omap_device.o
 obj-$(CONFIG_ARCH_OMAP4) += omap_device.o
 
 
 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
-obj-$(CONFIG_OMAP_IOMMU) += iommu.o iovmm.o
-obj-$(CONFIG_OMAP_IOMMU_DEBUG) += iommu-debug.o
 
 
 obj-$(CONFIG_CPU_FREQ) += cpu-omap.o
 obj-$(CONFIG_CPU_FREQ) += cpu-omap.o
 obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
 obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o

+ 0 - 0
arch/arm/plat-omap/iopgtable.h → arch/arm/plat-omap/include/plat/iopgtable.h


+ 18 - 0
drivers/iommu/Kconfig

@@ -107,4 +107,22 @@ config INTR_REMAP
 	  To use x2apic mode in the CPU's which support x2APIC enhancements or
 	  To use x2apic mode in the CPU's which support x2APIC enhancements or
 	  to support platforms with CPU's having > 8 bit APIC ID, say Y.
 	  to support platforms with CPU's having > 8 bit APIC ID, say Y.
 
 
+# OMAP IOMMU support
+config OMAP_IOMMU
+	bool "OMAP IOMMU Support"
+	select IOMMU_API
+
+config OMAP_IOVMM
+	tristate
+	select OMAP_IOMMU
+
+config OMAP_IOMMU_DEBUG
+       tristate "Export OMAP IOMMU/IOVMM internals in DebugFS"
+       depends on OMAP_IOVMM && DEBUG_FS
+       help
+         Select this to see extensive information about
+         the internal state of OMAP IOMMU/IOVMM in debugfs.
+
+         Say N unless you know you need this.
+
 endif # IOMMU_SUPPORT
 endif # IOMMU_SUPPORT

+ 3 - 0
drivers/iommu/Makefile

@@ -3,3 +3,6 @@ obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o msm_iommu_dev.o
 obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o
 obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o
 obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o
 obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o
 obj-$(CONFIG_INTR_REMAP) += dmar.o intr_remapping.o
 obj-$(CONFIG_INTR_REMAP) += dmar.o intr_remapping.o
+obj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o
+obj-$(CONFIG_OMAP_IOVMM) += omap-iovmm.o
+obj-$(CONFIG_OMAP_IOMMU_DEBUG) += omap-iommu-debug.o

+ 1 - 1
arch/arm/plat-omap/iommu-debug.c → drivers/iommu/omap-iommu-debug.c

@@ -21,7 +21,7 @@
 #include <plat/iommu.h>
 #include <plat/iommu.h>
 #include <plat/iovmm.h>
 #include <plat/iovmm.h>
 
 
-#include "iopgtable.h"
+#include <plat/iopgtable.h>
 
 
 #define MAXCOLUMN 100 /* for short messages */
 #define MAXCOLUMN 100 /* for short messages */
 
 

+ 1 - 1
arch/arm/plat-omap/iommu.c → drivers/iommu/omap-iommu.c

@@ -26,7 +26,7 @@
 
 
 #include <plat/iommu.h>
 #include <plat/iommu.h>
 
 
-#include "iopgtable.h"
+#include <plat/iopgtable.h>
 
 
 #define for_each_iotlb_cr(obj, n, __i, cr)				\
 #define for_each_iotlb_cr(obj, n, __i, cr)				\
 	for (__i = 0;							\
 	for (__i = 0;							\

+ 1 - 1
arch/arm/plat-omap/iovmm.c → drivers/iommu/omap-iovmm.c

@@ -23,7 +23,7 @@
 #include <plat/iommu.h>
 #include <plat/iommu.h>
 #include <plat/iovmm.h>
 #include <plat/iovmm.h>
 
 
-#include "iopgtable.h"
+#include <plat/iopgtable.h>
 
 
 /*
 /*
  * A device driver needs to create address mappings between:
  * A device driver needs to create address mappings between:

+ 1 - 1
drivers/media/video/Kconfig

@@ -763,7 +763,7 @@ source "drivers/media/video/m5mols/Kconfig"
 
 
 config VIDEO_OMAP3
 config VIDEO_OMAP3
 	tristate "OMAP 3 Camera support (EXPERIMENTAL)"
 	tristate "OMAP 3 Camera support (EXPERIMENTAL)"
-	select OMAP_IOMMU
+	select OMAP_IOVMM
 	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3 && EXPERIMENTAL
 	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3 && EXPERIMENTAL
 	---help---
 	---help---
 	  Driver for an OMAP 3 camera controller.
 	  Driver for an OMAP 3 camera controller.