diff options
author | Subramaniam C.A <subramaniam.ca@ti.com> | 2012-04-13 11:38:41 -0500 |
---|---|---|
committer | Dmytro Kedrovskyi <x0169235@ti.com> | 2012-04-18 19:25:00 +0300 |
commit | 2423ae215b246a08d83d7e78038e7f78d60d31a7 (patch) | |
tree | a116fdf7ddb84917811da6c5a8d2b392ef1ca9f9 /arch/arm/mach-omap2/omap-iommu.c | |
parent | c64178afc3f69498b04896fe6d3b811245f474c8 (diff) | |
download | kernel_samsung_espresso10-2423ae215b246a08d83d7e78038e7f78d60d31a7.zip kernel_samsung_espresso10-2423ae215b246a08d83d7e78038e7f78d60d31a7.tar.gz kernel_samsung_espresso10-2423ae215b246a08d83d7e78038e7f78d60d31a7.tar.bz2 |
omap: iommu: program constraints based on platform data
IOMMU driver requests and releases constraints in iommu_get
and iommu_put respectively. These constraints are actually
needed only on OMAP4 and beyond for sub-systems that have
an AMMU. The current driver code has these values hard-coded
for all the chips.
A new platform data field has been added now for the constraints
values, and this allows the values to be programmed based on
the OMAP chip and also allow a unique value if needed for each
iommu instance.
The logic in IOMMU driver code is adjusted to request the
constraints only if the relevant platform data field is set.
Change-Id: Iab18cbdde1d7fa7507dbff0b9512c8577b42fefd
Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap-iommu.c')
-rw-r--r-- | arch/arm/mach-omap2/omap-iommu.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap-iommu.c b/arch/arm/mach-omap2/omap-iommu.c index 6965b4d..cbab709 100644 --- a/arch/arm/mach-omap2/omap-iommu.c +++ b/arch/arm/mach-omap2/omap-iommu.c @@ -53,6 +53,10 @@ static struct iommu_platform_data omap3_devices_data[] = { #endif #ifdef CONFIG_ARCH_OMAP4 + +#define SET_DSP_CONSTRAINT 10 +#define SET_MPU_CORE_CONSTRAINT 10 + static struct iommu_platform_data omap4_devices_data[] = { { .name = "ducati", @@ -60,6 +64,7 @@ static struct iommu_platform_data omap4_devices_data[] = { .nr_tlb_entries = 32, .da_start = 0x0, .da_end = 0xFFFFF000, + .pm_constraint = SET_MPU_CORE_CONSTRAINT, }, { .name = "tesla", @@ -67,6 +72,7 @@ static struct iommu_platform_data omap4_devices_data[] = { .nr_tlb_entries = 32, .da_start = 0x0, .da_end = 0xFFFFF000, + .pm_constraint = SET_DSP_CONSTRAINT, }, }; #define NR_OMAP4_IOMMU_DEVICES ARRAY_SIZE(omap4_devices_data) |