aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu
diff options
context:
space:
mode:
authorOhad Ben-Cohen <ohad@wizery.com>2011-08-16 08:19:10 -0400
committerJoerg Roedel <joerg.roedel@amd.com>2011-08-26 05:46:00 -0400
commit5da14a471455bd725534d18604b4d89ffbe158df (patch)
tree32265ab3d038268d55709394855726487fce5d17 /drivers/iommu
parente1f2381332825f04b9816f354fdd48f17dc6193d (diff)
omap: iommu: PREFETCH_IOTLB cleanup
Use PREFETCH_IOTLB to control the content of the called function, instead of inlining it in the code. This improves readability of the code, and also prevents an "unused function" warning to show up when PREFETCH_IOTLB isn't set. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/omap-iommu.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
index 3aad2e34cbab..966093a2fcf5 100644
--- a/drivers/iommu/omap-iommu.c
+++ b/drivers/iommu/omap-iommu.c
@@ -253,6 +253,7 @@ static struct cr_regs __iotlb_read_cr(struct iommu *obj, int n)
253 * @obj: target iommu 253 * @obj: target iommu
254 * @e: an iommu tlb entry info 254 * @e: an iommu tlb entry info
255 **/ 255 **/
256#ifdef PREFETCH_IOTLB
256static int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) 257static int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e)
257{ 258{
258 int err = 0; 259 int err = 0;
@@ -310,6 +311,20 @@ out:
310 return err; 311 return err;
311} 312}
312 313
314#else /* !PREFETCH_IOTLB */
315
316static int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e)
317{
318 return 0;
319}
320
321#endif /* !PREFETCH_IOTLB */
322
323static int prefetch_iotlb_entry(struct iommu *obj, struct iotlb_entry *e)
324{
325 return load_iotlb_entry(obj, e);
326}
327
313/** 328/**
314 * flush_iotlb_page - Clear an iommu tlb entry 329 * flush_iotlb_page - Clear an iommu tlb entry
315 * @obj: target iommu 330 * @obj: target iommu
@@ -663,10 +678,8 @@ int iopgtable_store_entry(struct iommu *obj, struct iotlb_entry *e)
663 678
664 flush_iotlb_page(obj, e->da); 679 flush_iotlb_page(obj, e->da);
665 err = iopgtable_store_entry_core(obj, e); 680 err = iopgtable_store_entry_core(obj, e);
666#ifdef PREFETCH_IOTLB
667 if (!err) 681 if (!err)
668 load_iotlb_entry(obj, e); 682 prefetch_iotlb_entry(obj, e);
669#endif
670 return err; 683 return err;
671} 684}
672EXPORT_SYMBOL_GPL(iopgtable_store_entry); 685EXPORT_SYMBOL_GPL(iopgtable_store_entry);