Loading arch/arm/mach-msm/Kconfig +12 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,6 @@ config ARCH_MSM8X60 select CPU_V7 select MSM_V2_TLMM select MSM_GPIOMUX select IOMMU_API select MSM_SCM if SMP config ARCH_MSM8960 Loading Loading @@ -149,6 +148,18 @@ config MACH_MSM8960_RUMI3 endmenu config MSM_IOMMU bool "MSM IOMMU Support" depends on ARCH_MSM8X60 || ARCH_MSM8960 select IOMMU_API default n help Support for the IOMMUs found on certain Qualcomm SOCs. These IOMMUs allow virtualization of the address space used by most cores within the multimedia subsystem. If unsure, say N here. config IOMMU_PGTABLES_L2 def_bool y depends on ARCH_MSM8X60 && MMU && SMP && CPU_DCACHE_DISABLE=n Loading arch/arm/mach-msm/Makefile +2 −1 Original line number Diff line number Diff line Loading @@ -4,11 +4,12 @@ obj-$(CONFIG_DEBUG_FS) += clock-debug.o endif obj-$(CONFIG_MSM_VIC) += irq-vic.o obj-$(CONFIG_MSM_IOMMU) += iommu.o iommu_dev.o devices-iommu.o obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o acpuclock-arm11.o obj-$(CONFIG_ARCH_MSM7X30) += dma.o obj-$(CONFIG_ARCH_QSD8X50) += dma.o sirc.o obj-$(CONFIG_ARCH_MSM8X60) += clock-dummy.o iommu.o iommu_dev.o devices-msm8x60-iommu.o obj-$(CONFIG_ARCH_MSM8X60) += clock-dummy.o obj-$(CONFIG_ARCH_MSM8960) += clock-dummy.o obj-$(CONFIG_MSM_PROC_COMM) += proc_comm.o clock-pcom.o vreg.o Loading arch/arm/mach-msm/devices-msm8x60-iommu.c→arch/arm/mach-msm/devices-iommu.c +26 −28 Original line number Diff line number Diff line /* Copyright (c) 2010, Code Aurora Forum. All rights reserved. /* Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -18,15 +18,13 @@ #include <linux/kernel.h> #include <linux/platform_device.h> #include <linux/bootmem.h> #include <mach/msm_iomap-8x60.h> #include <mach/irqs-8x60.h> #include <mach/irqs.h> #include <mach/iommu.h> static struct resource msm_iommu_jpegd_resources[] = { { .start = MSM_IOMMU_JPEGD_PHYS, .end = MSM_IOMMU_JPEGD_PHYS + MSM_IOMMU_JPEGD_SIZE - 1, .start = 0x07300000, .end = 0x07300000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -46,8 +44,8 @@ static struct resource msm_iommu_jpegd_resources[] = { static struct resource msm_iommu_vpe_resources[] = { { .start = MSM_IOMMU_VPE_PHYS, .end = MSM_IOMMU_VPE_PHYS + MSM_IOMMU_VPE_SIZE - 1, .start = 0x07400000, .end = 0x07400000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -67,8 +65,8 @@ static struct resource msm_iommu_vpe_resources[] = { static struct resource msm_iommu_mdp0_resources[] = { { .start = MSM_IOMMU_MDP0_PHYS, .end = MSM_IOMMU_MDP0_PHYS + MSM_IOMMU_MDP0_SIZE - 1, .start = 0x07500000, .end = 0x07500000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -88,8 +86,8 @@ static struct resource msm_iommu_mdp0_resources[] = { static struct resource msm_iommu_mdp1_resources[] = { { .start = MSM_IOMMU_MDP1_PHYS, .end = MSM_IOMMU_MDP1_PHYS + MSM_IOMMU_MDP1_SIZE - 1, .start = 0x07600000, .end = 0x07600000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -109,8 +107,8 @@ static struct resource msm_iommu_mdp1_resources[] = { static struct resource msm_iommu_rot_resources[] = { { .start = MSM_IOMMU_ROT_PHYS, .end = MSM_IOMMU_ROT_PHYS + MSM_IOMMU_ROT_SIZE - 1, .start = 0x07700000, .end = 0x07700000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -130,8 +128,8 @@ static struct resource msm_iommu_rot_resources[] = { static struct resource msm_iommu_ijpeg_resources[] = { { .start = MSM_IOMMU_IJPEG_PHYS, .end = MSM_IOMMU_IJPEG_PHYS + MSM_IOMMU_IJPEG_SIZE - 1, .start = 0x07800000, .end = 0x07800000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -151,8 +149,8 @@ static struct resource msm_iommu_ijpeg_resources[] = { static struct resource msm_iommu_vfe_resources[] = { { .start = MSM_IOMMU_VFE_PHYS, .end = MSM_IOMMU_VFE_PHYS + MSM_IOMMU_VFE_SIZE - 1, .start = 0x07900000, .end = 0x07900000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -172,8 +170,8 @@ static struct resource msm_iommu_vfe_resources[] = { static struct resource msm_iommu_vcodec_a_resources[] = { { .start = MSM_IOMMU_VCODEC_A_PHYS, .end = MSM_IOMMU_VCODEC_A_PHYS + MSM_IOMMU_VCODEC_A_SIZE - 1, .start = 0x07A00000, .end = 0x07A00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -193,8 +191,8 @@ static struct resource msm_iommu_vcodec_a_resources[] = { static struct resource msm_iommu_vcodec_b_resources[] = { { .start = MSM_IOMMU_VCODEC_B_PHYS, .end = MSM_IOMMU_VCODEC_B_PHYS + MSM_IOMMU_VCODEC_B_SIZE - 1, .start = 0x07B00000, .end = 0x07B00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -214,8 +212,8 @@ static struct resource msm_iommu_vcodec_b_resources[] = { static struct resource msm_iommu_gfx3d_resources[] = { { .start = MSM_IOMMU_GFX3D_PHYS, .end = MSM_IOMMU_GFX3D_PHYS + MSM_IOMMU_GFX3D_SIZE - 1, .start = 0x07C00000, .end = 0x07C00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -235,8 +233,8 @@ static struct resource msm_iommu_gfx3d_resources[] = { static struct resource msm_iommu_gfx2d0_resources[] = { { .start = MSM_IOMMU_GFX2D0_PHYS, .end = MSM_IOMMU_GFX2D0_PHYS + MSM_IOMMU_GFX2D0_SIZE - 1, .start = 0x07D00000, .end = 0x07D00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -256,8 +254,8 @@ static struct resource msm_iommu_gfx2d0_resources[] = { static struct resource msm_iommu_gfx2d1_resources[] = { { .start = MSM_IOMMU_GFX2D1_PHYS, .end = MSM_IOMMU_GFX2D1_PHYS + MSM_IOMMU_GFX2D1_SIZE - 1, .start = 0x07E00000, .end = 0x07E00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading arch/arm/mach-msm/include/mach/msm_iomap-8x60.h +0 −36 Original line number Diff line number Diff line Loading @@ -62,40 +62,4 @@ #define MSM8X60_TMR0_PHYS 0x02040000 #define MSM8X60_TMR0_SIZE SZ_4K #define MSM_IOMMU_JPEGD_PHYS 0x07300000 #define MSM_IOMMU_JPEGD_SIZE SZ_1M #define MSM_IOMMU_VPE_PHYS 0x07400000 #define MSM_IOMMU_VPE_SIZE SZ_1M #define MSM_IOMMU_MDP0_PHYS 0x07500000 #define MSM_IOMMU_MDP0_SIZE SZ_1M #define MSM_IOMMU_MDP1_PHYS 0x07600000 #define MSM_IOMMU_MDP1_SIZE SZ_1M #define MSM_IOMMU_ROT_PHYS 0x07700000 #define MSM_IOMMU_ROT_SIZE SZ_1M #define MSM_IOMMU_IJPEG_PHYS 0x07800000 #define MSM_IOMMU_IJPEG_SIZE SZ_1M #define MSM_IOMMU_VFE_PHYS 0x07900000 #define MSM_IOMMU_VFE_SIZE SZ_1M #define MSM_IOMMU_VCODEC_A_PHYS 0x07A00000 #define MSM_IOMMU_VCODEC_A_SIZE SZ_1M #define MSM_IOMMU_VCODEC_B_PHYS 0x07B00000 #define MSM_IOMMU_VCODEC_B_SIZE SZ_1M #define MSM_IOMMU_GFX3D_PHYS 0x07C00000 #define MSM_IOMMU_GFX3D_SIZE SZ_1M #define MSM_IOMMU_GFX2D0_PHYS 0x07D00000 #define MSM_IOMMU_GFX2D0_SIZE SZ_1M #define MSM_IOMMU_GFX2D1_PHYS 0x07E00000 #define MSM_IOMMU_GFX2D1_SIZE SZ_1M #endif Loading
arch/arm/mach-msm/Kconfig +12 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,6 @@ config ARCH_MSM8X60 select CPU_V7 select MSM_V2_TLMM select MSM_GPIOMUX select IOMMU_API select MSM_SCM if SMP config ARCH_MSM8960 Loading Loading @@ -149,6 +148,18 @@ config MACH_MSM8960_RUMI3 endmenu config MSM_IOMMU bool "MSM IOMMU Support" depends on ARCH_MSM8X60 || ARCH_MSM8960 select IOMMU_API default n help Support for the IOMMUs found on certain Qualcomm SOCs. These IOMMUs allow virtualization of the address space used by most cores within the multimedia subsystem. If unsure, say N here. config IOMMU_PGTABLES_L2 def_bool y depends on ARCH_MSM8X60 && MMU && SMP && CPU_DCACHE_DISABLE=n Loading
arch/arm/mach-msm/Makefile +2 −1 Original line number Diff line number Diff line Loading @@ -4,11 +4,12 @@ obj-$(CONFIG_DEBUG_FS) += clock-debug.o endif obj-$(CONFIG_MSM_VIC) += irq-vic.o obj-$(CONFIG_MSM_IOMMU) += iommu.o iommu_dev.o devices-iommu.o obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o acpuclock-arm11.o obj-$(CONFIG_ARCH_MSM7X30) += dma.o obj-$(CONFIG_ARCH_QSD8X50) += dma.o sirc.o obj-$(CONFIG_ARCH_MSM8X60) += clock-dummy.o iommu.o iommu_dev.o devices-msm8x60-iommu.o obj-$(CONFIG_ARCH_MSM8X60) += clock-dummy.o obj-$(CONFIG_ARCH_MSM8960) += clock-dummy.o obj-$(CONFIG_MSM_PROC_COMM) += proc_comm.o clock-pcom.o vreg.o Loading
arch/arm/mach-msm/devices-msm8x60-iommu.c→arch/arm/mach-msm/devices-iommu.c +26 −28 Original line number Diff line number Diff line /* Copyright (c) 2010, Code Aurora Forum. All rights reserved. /* Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -18,15 +18,13 @@ #include <linux/kernel.h> #include <linux/platform_device.h> #include <linux/bootmem.h> #include <mach/msm_iomap-8x60.h> #include <mach/irqs-8x60.h> #include <mach/irqs.h> #include <mach/iommu.h> static struct resource msm_iommu_jpegd_resources[] = { { .start = MSM_IOMMU_JPEGD_PHYS, .end = MSM_IOMMU_JPEGD_PHYS + MSM_IOMMU_JPEGD_SIZE - 1, .start = 0x07300000, .end = 0x07300000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -46,8 +44,8 @@ static struct resource msm_iommu_jpegd_resources[] = { static struct resource msm_iommu_vpe_resources[] = { { .start = MSM_IOMMU_VPE_PHYS, .end = MSM_IOMMU_VPE_PHYS + MSM_IOMMU_VPE_SIZE - 1, .start = 0x07400000, .end = 0x07400000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -67,8 +65,8 @@ static struct resource msm_iommu_vpe_resources[] = { static struct resource msm_iommu_mdp0_resources[] = { { .start = MSM_IOMMU_MDP0_PHYS, .end = MSM_IOMMU_MDP0_PHYS + MSM_IOMMU_MDP0_SIZE - 1, .start = 0x07500000, .end = 0x07500000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -88,8 +86,8 @@ static struct resource msm_iommu_mdp0_resources[] = { static struct resource msm_iommu_mdp1_resources[] = { { .start = MSM_IOMMU_MDP1_PHYS, .end = MSM_IOMMU_MDP1_PHYS + MSM_IOMMU_MDP1_SIZE - 1, .start = 0x07600000, .end = 0x07600000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -109,8 +107,8 @@ static struct resource msm_iommu_mdp1_resources[] = { static struct resource msm_iommu_rot_resources[] = { { .start = MSM_IOMMU_ROT_PHYS, .end = MSM_IOMMU_ROT_PHYS + MSM_IOMMU_ROT_SIZE - 1, .start = 0x07700000, .end = 0x07700000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -130,8 +128,8 @@ static struct resource msm_iommu_rot_resources[] = { static struct resource msm_iommu_ijpeg_resources[] = { { .start = MSM_IOMMU_IJPEG_PHYS, .end = MSM_IOMMU_IJPEG_PHYS + MSM_IOMMU_IJPEG_SIZE - 1, .start = 0x07800000, .end = 0x07800000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -151,8 +149,8 @@ static struct resource msm_iommu_ijpeg_resources[] = { static struct resource msm_iommu_vfe_resources[] = { { .start = MSM_IOMMU_VFE_PHYS, .end = MSM_IOMMU_VFE_PHYS + MSM_IOMMU_VFE_SIZE - 1, .start = 0x07900000, .end = 0x07900000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -172,8 +170,8 @@ static struct resource msm_iommu_vfe_resources[] = { static struct resource msm_iommu_vcodec_a_resources[] = { { .start = MSM_IOMMU_VCODEC_A_PHYS, .end = MSM_IOMMU_VCODEC_A_PHYS + MSM_IOMMU_VCODEC_A_SIZE - 1, .start = 0x07A00000, .end = 0x07A00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -193,8 +191,8 @@ static struct resource msm_iommu_vcodec_a_resources[] = { static struct resource msm_iommu_vcodec_b_resources[] = { { .start = MSM_IOMMU_VCODEC_B_PHYS, .end = MSM_IOMMU_VCODEC_B_PHYS + MSM_IOMMU_VCODEC_B_SIZE - 1, .start = 0x07B00000, .end = 0x07B00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -214,8 +212,8 @@ static struct resource msm_iommu_vcodec_b_resources[] = { static struct resource msm_iommu_gfx3d_resources[] = { { .start = MSM_IOMMU_GFX3D_PHYS, .end = MSM_IOMMU_GFX3D_PHYS + MSM_IOMMU_GFX3D_SIZE - 1, .start = 0x07C00000, .end = 0x07C00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -235,8 +233,8 @@ static struct resource msm_iommu_gfx3d_resources[] = { static struct resource msm_iommu_gfx2d0_resources[] = { { .start = MSM_IOMMU_GFX2D0_PHYS, .end = MSM_IOMMU_GFX2D0_PHYS + MSM_IOMMU_GFX2D0_SIZE - 1, .start = 0x07D00000, .end = 0x07D00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading @@ -256,8 +254,8 @@ static struct resource msm_iommu_gfx2d0_resources[] = { static struct resource msm_iommu_gfx2d1_resources[] = { { .start = MSM_IOMMU_GFX2D1_PHYS, .end = MSM_IOMMU_GFX2D1_PHYS + MSM_IOMMU_GFX2D1_SIZE - 1, .start = 0x07E00000, .end = 0x07E00000 + SZ_1M - 1, .name = "physbase", .flags = IORESOURCE_MEM, }, Loading
arch/arm/mach-msm/include/mach/msm_iomap-8x60.h +0 −36 Original line number Diff line number Diff line Loading @@ -62,40 +62,4 @@ #define MSM8X60_TMR0_PHYS 0x02040000 #define MSM8X60_TMR0_SIZE SZ_4K #define MSM_IOMMU_JPEGD_PHYS 0x07300000 #define MSM_IOMMU_JPEGD_SIZE SZ_1M #define MSM_IOMMU_VPE_PHYS 0x07400000 #define MSM_IOMMU_VPE_SIZE SZ_1M #define MSM_IOMMU_MDP0_PHYS 0x07500000 #define MSM_IOMMU_MDP0_SIZE SZ_1M #define MSM_IOMMU_MDP1_PHYS 0x07600000 #define MSM_IOMMU_MDP1_SIZE SZ_1M #define MSM_IOMMU_ROT_PHYS 0x07700000 #define MSM_IOMMU_ROT_SIZE SZ_1M #define MSM_IOMMU_IJPEG_PHYS 0x07800000 #define MSM_IOMMU_IJPEG_SIZE SZ_1M #define MSM_IOMMU_VFE_PHYS 0x07900000 #define MSM_IOMMU_VFE_SIZE SZ_1M #define MSM_IOMMU_VCODEC_A_PHYS 0x07A00000 #define MSM_IOMMU_VCODEC_A_SIZE SZ_1M #define MSM_IOMMU_VCODEC_B_PHYS 0x07B00000 #define MSM_IOMMU_VCODEC_B_SIZE SZ_1M #define MSM_IOMMU_GFX3D_PHYS 0x07C00000 #define MSM_IOMMU_GFX3D_SIZE SZ_1M #define MSM_IOMMU_GFX2D0_PHYS 0x07D00000 #define MSM_IOMMU_GFX2D0_SIZE SZ_1M #define MSM_IOMMU_GFX2D1_PHYS 0x07E00000 #define MSM_IOMMU_GFX2D1_SIZE SZ_1M #endif