diff options
-rw-r--r-- | arch/arm/plat-omap/include/plat/iommu.h | 8 | ||||
-rw-r--r-- | drivers/iommu/omap-iommu.c | 19 |
2 files changed, 7 insertions, 20 deletions
diff --git a/arch/arm/plat-omap/include/plat/iommu.h b/arch/arm/plat-omap/include/plat/iommu.h index dcb757b87fca..4e9c05c2fdc1 100644 --- a/arch/arm/plat-omap/include/plat/iommu.h +++ b/arch/arm/plat-omap/include/plat/iommu.h | |||
@@ -153,18 +153,10 @@ struct iommu_platform_data { | |||
153 | extern u32 iommu_arch_version(void); | 153 | extern u32 iommu_arch_version(void); |
154 | 154 | ||
155 | extern void iotlb_cr_to_e(struct cr_regs *cr, struct iotlb_entry *e); | 155 | extern void iotlb_cr_to_e(struct cr_regs *cr, struct iotlb_entry *e); |
156 | extern u32 iotlb_cr_to_virt(struct cr_regs *cr); | ||
157 | |||
158 | extern int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e); | ||
159 | extern void iommu_set_twl(struct iommu *obj, bool on); | 156 | extern void iommu_set_twl(struct iommu *obj, bool on); |
160 | extern void flush_iotlb_page(struct iommu *obj, u32 da); | ||
161 | extern void flush_iotlb_range(struct iommu *obj, u32 start, u32 end); | 157 | extern void flush_iotlb_range(struct iommu *obj, u32 start, u32 end); |
162 | extern void flush_iotlb_all(struct iommu *obj); | ||
163 | 158 | ||
164 | extern int iopgtable_store_entry(struct iommu *obj, struct iotlb_entry *e); | 159 | extern int iopgtable_store_entry(struct iommu *obj, struct iotlb_entry *e); |
165 | extern void iopgtable_lookup_entry(struct iommu *obj, u32 da, u32 **ppgd, | ||
166 | u32 **ppte); | ||
167 | extern size_t iopgtable_clear_entry(struct iommu *obj, u32 iova); | ||
168 | 160 | ||
169 | extern int iommu_set_da_range(struct iommu *obj, u32 start, u32 end); | 161 | extern int iommu_set_da_range(struct iommu *obj, u32 start, u32 end); |
170 | extern int iommu_set_isr(const char *name, | 162 | extern int iommu_set_isr(const char *name, |
diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c index bf8de6475746..3aad2e34cbab 100644 --- a/drivers/iommu/omap-iommu.c +++ b/drivers/iommu/omap-iommu.c | |||
@@ -171,11 +171,10 @@ static inline struct cr_regs *iotlb_alloc_cr(struct iommu *obj, | |||
171 | return arch_iommu->alloc_cr(obj, e); | 171 | return arch_iommu->alloc_cr(obj, e); |
172 | } | 172 | } |
173 | 173 | ||
174 | u32 iotlb_cr_to_virt(struct cr_regs *cr) | 174 | static u32 iotlb_cr_to_virt(struct cr_regs *cr) |
175 | { | 175 | { |
176 | return arch_iommu->cr_to_virt(cr); | 176 | return arch_iommu->cr_to_virt(cr); |
177 | } | 177 | } |
178 | EXPORT_SYMBOL_GPL(iotlb_cr_to_virt); | ||
179 | 178 | ||
180 | static u32 get_iopte_attr(struct iotlb_entry *e) | 179 | static u32 get_iopte_attr(struct iotlb_entry *e) |
181 | { | 180 | { |
@@ -254,7 +253,7 @@ static struct cr_regs __iotlb_read_cr(struct iommu *obj, int n) | |||
254 | * @obj: target iommu | 253 | * @obj: target iommu |
255 | * @e: an iommu tlb entry info | 254 | * @e: an iommu tlb entry info |
256 | **/ | 255 | **/ |
257 | int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) | 256 | static int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) |
258 | { | 257 | { |
259 | int err = 0; | 258 | int err = 0; |
260 | struct iotlb_lock l; | 259 | struct iotlb_lock l; |
@@ -310,7 +309,6 @@ out: | |||
310 | clk_disable(obj->clk); | 309 | clk_disable(obj->clk); |
311 | return err; | 310 | return err; |
312 | } | 311 | } |
313 | EXPORT_SYMBOL_GPL(load_iotlb_entry); | ||
314 | 312 | ||
315 | /** | 313 | /** |
316 | * flush_iotlb_page - Clear an iommu tlb entry | 314 | * flush_iotlb_page - Clear an iommu tlb entry |
@@ -319,7 +317,7 @@ EXPORT_SYMBOL_GPL(load_iotlb_entry); | |||
319 | * | 317 | * |
320 | * Clear an iommu tlb entry which includes 'da' address. | 318 | * Clear an iommu tlb entry which includes 'da' address. |
321 | **/ | 319 | **/ |
322 | void flush_iotlb_page(struct iommu *obj, u32 da) | 320 | static void flush_iotlb_page(struct iommu *obj, u32 da) |
323 | { | 321 | { |
324 | int i; | 322 | int i; |
325 | struct cr_regs cr; | 323 | struct cr_regs cr; |
@@ -348,7 +346,6 @@ void flush_iotlb_page(struct iommu *obj, u32 da) | |||
348 | if (i == obj->nr_tlb_entries) | 346 | if (i == obj->nr_tlb_entries) |
349 | dev_dbg(obj->dev, "%s: no page for %08x\n", __func__, da); | 347 | dev_dbg(obj->dev, "%s: no page for %08x\n", __func__, da); |
350 | } | 348 | } |
351 | EXPORT_SYMBOL_GPL(flush_iotlb_page); | ||
352 | 349 | ||
353 | /** | 350 | /** |
354 | * flush_iotlb_range - Clear an iommu tlb entries | 351 | * flush_iotlb_range - Clear an iommu tlb entries |
@@ -374,7 +371,7 @@ EXPORT_SYMBOL_GPL(flush_iotlb_range); | |||
374 | * flush_iotlb_all - Clear all iommu tlb entries | 371 | * flush_iotlb_all - Clear all iommu tlb entries |
375 | * @obj: target iommu | 372 | * @obj: target iommu |
376 | **/ | 373 | **/ |
377 | void flush_iotlb_all(struct iommu *obj) | 374 | static void flush_iotlb_all(struct iommu *obj) |
378 | { | 375 | { |
379 | struct iotlb_lock l; | 376 | struct iotlb_lock l; |
380 | 377 | ||
@@ -388,7 +385,6 @@ void flush_iotlb_all(struct iommu *obj) | |||
388 | 385 | ||
389 | clk_disable(obj->clk); | 386 | clk_disable(obj->clk); |
390 | } | 387 | } |
391 | EXPORT_SYMBOL_GPL(flush_iotlb_all); | ||
392 | 388 | ||
393 | /** | 389 | /** |
394 | * iommu_set_twl - enable/disable table walking logic | 390 | * iommu_set_twl - enable/disable table walking logic |
@@ -682,7 +678,8 @@ EXPORT_SYMBOL_GPL(iopgtable_store_entry); | |||
682 | * @ppgd: iommu pgd entry pointer to be returned | 678 | * @ppgd: iommu pgd entry pointer to be returned |
683 | * @ppte: iommu pte entry pointer to be returned | 679 | * @ppte: iommu pte entry pointer to be returned |
684 | **/ | 680 | **/ |
685 | void iopgtable_lookup_entry(struct iommu *obj, u32 da, u32 **ppgd, u32 **ppte) | 681 | static void |
682 | iopgtable_lookup_entry(struct omap_iommu *obj, u32 da, u32 **ppgd, u32 **ppte) | ||
686 | { | 683 | { |
687 | u32 *iopgd, *iopte = NULL; | 684 | u32 *iopgd, *iopte = NULL; |
688 | 685 | ||
@@ -696,7 +693,6 @@ out: | |||
696 | *ppgd = iopgd; | 693 | *ppgd = iopgd; |
697 | *ppte = iopte; | 694 | *ppte = iopte; |
698 | } | 695 | } |
699 | EXPORT_SYMBOL_GPL(iopgtable_lookup_entry); | ||
700 | 696 | ||
701 | static size_t iopgtable_clear_entry_core(struct iommu *obj, u32 da) | 697 | static size_t iopgtable_clear_entry_core(struct iommu *obj, u32 da) |
702 | { | 698 | { |
@@ -751,7 +747,7 @@ out: | |||
751 | * @obj: target iommu | 747 | * @obj: target iommu |
752 | * @da: iommu device virtual address | 748 | * @da: iommu device virtual address |
753 | **/ | 749 | **/ |
754 | size_t iopgtable_clear_entry(struct iommu *obj, u32 da) | 750 | static size_t iopgtable_clear_entry(struct iommu *obj, u32 da) |
755 | { | 751 | { |
756 | size_t bytes; | 752 | size_t bytes; |
757 | 753 | ||
@@ -764,7 +760,6 @@ size_t iopgtable_clear_entry(struct iommu *obj, u32 da) | |||
764 | 760 | ||
765 | return bytes; | 761 | return bytes; |
766 | } | 762 | } |
767 | EXPORT_SYMBOL_GPL(iopgtable_clear_entry); | ||
768 | 763 | ||
769 | static void iopgtable_clear_entry_all(struct iommu *obj) | 764 | static void iopgtable_clear_entry_all(struct iommu *obj) |
770 | { | 765 | { |