msm: kgsl: Introduce Iommu Code

kgsl now supports the use of 2 types of MMU. One is
the GPU's internal MMU and the other is IOMMU. Both
MMU cannot be active at the same time. The MMU type
can be selected at compile time via config option.
A boot command line parameter can be used to override
the type of MMU selected at compile time.

Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
diff --git a/arch/arm/mach-msm/devices-8960.c b/arch/arm/mach-msm/devices-8960.c
index 98f54ee..5eeca31 100644
--- a/arch/arm/mach-msm/devices-8960.c
+++ b/arch/arm/mach-msm/devices-8960.c
@@ -1962,6 +1962,8 @@
 		.clk = NULL,
 		.pclk = "mem_iface_clk",
 	},
+	.iommu_user_ctx_name = "gfx3d_user",
+	.iommu_priv_ctx_name = NULL,
 };
 
 struct platform_device msm_kgsl_3d0 = {
@@ -2017,6 +2019,8 @@
 		.bus_scale_table = &grp2d0_bus_scale_pdata,
 #endif
 	},
+	.iommu_user_ctx_name = "gfx2d0_2d0",
+	.iommu_priv_ctx_name = NULL,
 };
 
 struct platform_device msm_kgsl_2d0 = {
@@ -2071,6 +2075,8 @@
 		.bus_scale_table = &grp2d1_bus_scale_pdata,
 #endif
 	},
+	.iommu_user_ctx_name = "gfx2d1_2d1",
+	.iommu_priv_ctx_name = NULL,
 };
 
 struct platform_device msm_kgsl_2d1 = {