From: Ohad Ben-Cohen <ohad@wizery.com> To: linux-omap@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, Tony Lindgren <tony@atomide.com>, Hiroshi DOYU <Hiroshi.DOYU@nokia.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Joerg Roedel <Joerg.Roedel@amd.com>, Arnd Bergmann <arnd@arndb.de>, iommu@lists.linux-foundation.org, Ohad Ben-Cohen <ohad@wizery.com> Subject: [PATCH 4/7] omap: iommu: PREFETCH_IOTLB cleanup Date: Thu, 18 Aug 2011 02:10:05 +0300 [thread overview] Message-ID: <1313622608-30397-5-git-send-email-ohad@wizery.com> (raw) In-Reply-To: <1313622608-30397-1-git-send-email-ohad@wizery.com> 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. While we're at it, rename load_iotlb_entry to prefetch_iotlb_entry to better reflect the purpose of that function. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> --- drivers/iommu/omap-iommu.c | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c index ed81977..7280e5b 100644 --- a/drivers/iommu/omap-iommu.c +++ b/drivers/iommu/omap-iommu.c @@ -248,11 +248,12 @@ static struct cr_regs __iotlb_read_cr(struct iommu *obj, int n) } /** - * load_iotlb_entry - Set an iommu tlb entry + * prefetch_iotlb_entry - Set an iommu tlb entry * @obj: target iommu * @e: an iommu tlb entry info **/ -static int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) +#ifdef PREFETCH_IOTLB +static int prefetch_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) { int err = 0; struct iotlb_lock l; @@ -309,6 +310,15 @@ out: return err; } +#else /* !PREFETCH_IOTLB */ + +static int prefetch_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) +{ + return 0; +} + +#endif /* !PREFETCH_IOTLB */ + /** * flush_iotlb_page - Clear an iommu tlb entry * @obj: target iommu @@ -662,10 +672,8 @@ int iopgtable_store_entry(struct iommu *obj, struct iotlb_entry *e) flush_iotlb_page(obj, e->da); err = iopgtable_store_entry_core(obj, e); -#ifdef PREFETCH_IOTLB if (!err) - load_iotlb_entry(obj, e); -#endif + prefetch_iotlb_entry(obj, e); return err; } EXPORT_SYMBOL_GPL(iopgtable_store_entry); -- 1.7.4.1
WARNING: multiple messages have this Message-ID (diff)
From: ohad@wizery.com (Ohad Ben-Cohen) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/7] omap: iommu: PREFETCH_IOTLB cleanup Date: Thu, 18 Aug 2011 02:10:05 +0300 [thread overview] Message-ID: <1313622608-30397-5-git-send-email-ohad@wizery.com> (raw) In-Reply-To: <1313622608-30397-1-git-send-email-ohad@wizery.com> 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. While we're at it, rename load_iotlb_entry to prefetch_iotlb_entry to better reflect the purpose of that function. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> --- drivers/iommu/omap-iommu.c | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c index ed81977..7280e5b 100644 --- a/drivers/iommu/omap-iommu.c +++ b/drivers/iommu/omap-iommu.c @@ -248,11 +248,12 @@ static struct cr_regs __iotlb_read_cr(struct iommu *obj, int n) } /** - * load_iotlb_entry - Set an iommu tlb entry + * prefetch_iotlb_entry - Set an iommu tlb entry * @obj: target iommu * @e: an iommu tlb entry info **/ -static int load_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) +#ifdef PREFETCH_IOTLB +static int prefetch_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) { int err = 0; struct iotlb_lock l; @@ -309,6 +310,15 @@ out: return err; } +#else /* !PREFETCH_IOTLB */ + +static int prefetch_iotlb_entry(struct iommu *obj, struct iotlb_entry *e) +{ + return 0; +} + +#endif /* !PREFETCH_IOTLB */ + /** * flush_iotlb_page - Clear an iommu tlb entry * @obj: target iommu @@ -662,10 +672,8 @@ int iopgtable_store_entry(struct iommu *obj, struct iotlb_entry *e) flush_iotlb_page(obj, e->da); err = iopgtable_store_entry_core(obj, e); -#ifdef PREFETCH_IOTLB if (!err) - load_iotlb_entry(obj, e); -#endif + prefetch_iotlb_entry(obj, e); return err; } EXPORT_SYMBOL_GPL(iopgtable_store_entry); -- 1.7.4.1
next prev parent reply other threads:[~2011-08-17 23:10 UTC|newest] Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-08-17 23:10 [PATCH 0/7] omap: iommu migration, relocation and cleanups Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen 2011-08-17 23:10 ` [PATCH 1/7] omap: iommu: migrate to the generic IOMMU API Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen 2011-08-18 9:01 ` Laurent Pinchart 2011-08-18 9:01 ` Laurent Pinchart 2011-08-18 9:05 ` Ohad Ben-Cohen 2011-08-18 9:05 ` Ohad Ben-Cohen 2011-08-18 13:35 ` Arnd Bergmann 2011-08-18 13:35 ` Arnd Bergmann 2011-08-23 14:07 ` Roedel, Joerg 2011-08-23 14:07 ` Roedel, Joerg 2011-08-23 14:59 ` Ohad Ben-Cohen 2011-08-23 14:59 ` Ohad Ben-Cohen 2011-08-24 12:46 ` Ohad Ben-Cohen 2011-08-24 12:46 ` Ohad Ben-Cohen 2011-08-24 13:15 ` Roedel, Joerg 2011-08-24 13:15 ` Roedel, Joerg 2011-08-24 14:46 ` Ohad Ben-Cohen 2011-08-24 14:46 ` Ohad Ben-Cohen 2011-08-17 23:10 ` [PATCH 2/7] omap: iommu/iovmm: move to dedicated iommu folder Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen 2011-08-18 13:38 ` Arnd Bergmann 2011-08-18 13:38 ` Arnd Bergmann 2011-08-18 13:53 ` Ohad Ben-Cohen 2011-08-18 13:53 ` Ohad Ben-Cohen 2011-08-17 23:10 ` [PATCH 3/7] omap: iommu: stop exporting local functions Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen [this message] 2011-08-17 23:10 ` [PATCH 4/7] omap: iommu: PREFETCH_IOTLB cleanup Ohad Ben-Cohen 2011-08-18 5:27 ` Hiroshi DOYU 2011-08-18 5:27 ` Hiroshi DOYU 2011-08-18 6:33 ` Ohad Ben-Cohen 2011-08-18 6:33 ` Ohad Ben-Cohen 2011-08-17 23:10 ` [PATCH 5/7] omap: iovmm: remove unused functionality Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen 2011-08-18 10:19 ` Hiroshi DOYU 2011-08-18 10:19 ` Hiroshi DOYU 2011-08-18 10:23 ` Ohad Ben-Cohen 2011-08-18 10:23 ` Ohad Ben-Cohen 2011-08-18 12:45 ` Hiroshi DOYU 2011-08-18 12:45 ` Hiroshi DOYU 2011-08-17 23:10 ` [PATCH 6/7] omap: iommu: remove unused exported API Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen 2011-08-18 10:49 ` Hiroshi DOYU 2011-08-18 10:49 ` Hiroshi DOYU 2011-08-18 11:01 ` Ohad Ben-Cohen 2011-08-18 11:01 ` Ohad Ben-Cohen 2011-08-18 13:40 ` David Cohen 2011-08-18 13:40 ` David Cohen 2011-08-18 13:45 ` Ohad Ben-Cohen 2011-08-18 13:45 ` Ohad Ben-Cohen 2011-08-17 23:10 ` [PATCH 7/7] omap: iommu: omapify 'struct iommu' and exposed API Ohad Ben-Cohen 2011-08-17 23:10 ` Ohad Ben-Cohen 2011-08-18 9:12 ` [PATCH 0/7] omap: iommu migration, relocation and cleanups Laurent Pinchart 2011-08-18 9:12 ` Laurent Pinchart 2011-08-18 10:50 ` Hiroshi DOYU 2011-08-18 10:50 ` Hiroshi DOYU 2011-08-23 14:26 ` Roedel, Joerg 2011-08-23 14:26 ` Roedel, Joerg 2011-08-23 15:15 ` Ohad Ben-Cohen 2011-08-23 15:15 ` Ohad Ben-Cohen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1313622608-30397-5-git-send-email-ohad@wizery.com \ --to=ohad@wizery.com \ --cc=Hiroshi.DOYU@nokia.com \ --cc=Joerg.Roedel@amd.com \ --cc=arnd@arndb.de \ --cc=iommu@lists.linux-foundation.org \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=tony@atomide.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.