diff options
author | Guzman Lugo, Fernando <x0095840@ti.com> | 2010-12-14 19:54:03 -0500 |
---|---|---|
committer | Hari Kanigeri <h-kanigeri2@ti.com> | 2010-12-15 12:29:10 -0500 |
commit | c7f4ab26e3bcdaeb3e19ec658e3ad9092f1a6ceb (patch) | |
tree | b80f93995d8e9daa1f53a18c105e8d532102cd21 /arch/arm/plat-omap/include/plat/iommu.h | |
parent | 9205a109fbeee180254bb5a4020eb71d50735944 (diff) |
OMAP: iommu: create new api to set valid da range
Some IOMMUs cannot use the whole 0x0 - 0xFFFFFFFF range.
With this new API the valid range can be set.
Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Diffstat (limited to 'arch/arm/plat-omap/include/plat/iommu.h')
-rw-r--r-- | arch/arm/plat-omap/include/plat/iommu.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/include/plat/iommu.h b/arch/arm/plat-omap/include/plat/iommu.h index 33c7d41cb6a5..69230d685538 100644 --- a/arch/arm/plat-omap/include/plat/iommu.h +++ b/arch/arm/plat-omap/include/plat/iommu.h | |||
@@ -50,6 +50,8 @@ struct iommu { | |||
50 | int (*isr)(struct iommu *obj); | 50 | int (*isr)(struct iommu *obj); |
51 | 51 | ||
52 | void *ctx; /* iommu context: registres saved area */ | 52 | void *ctx; /* iommu context: registres saved area */ |
53 | u32 da_start; | ||
54 | u32 da_end; | ||
53 | }; | 55 | }; |
54 | 56 | ||
55 | struct cr_regs { | 57 | struct cr_regs { |
@@ -103,6 +105,8 @@ struct iommu_platform_data { | |||
103 | const char *name; | 105 | const char *name; |
104 | const char *clk_name; | 106 | const char *clk_name; |
105 | const int nr_tlb_entries; | 107 | const int nr_tlb_entries; |
108 | u32 da_start; | ||
109 | u32 da_end; | ||
106 | }; | 110 | }; |
107 | 111 | ||
108 | #if defined(CONFIG_ARCH_OMAP1) | 112 | #if defined(CONFIG_ARCH_OMAP1) |
@@ -152,6 +156,7 @@ extern void flush_iotlb_all(struct iommu *obj); | |||
152 | extern int iopgtable_store_entry(struct iommu *obj, struct iotlb_entry *e); | 156 | extern int iopgtable_store_entry(struct iommu *obj, struct iotlb_entry *e); |
153 | extern size_t iopgtable_clear_entry(struct iommu *obj, u32 iova); | 157 | extern size_t iopgtable_clear_entry(struct iommu *obj, u32 iova); |
154 | 158 | ||
159 | extern int iommu_set_da_range(struct iommu *obj, u32 start, u32 end); | ||
155 | extern struct iommu *iommu_get(const char *name); | 160 | extern struct iommu *iommu_get(const char *name); |
156 | extern void iommu_put(struct iommu *obj); | 161 | extern void iommu_put(struct iommu *obj); |
157 | 162 | ||