summaryrefslogtreecommitdiffstats
path: root/drivers/clocksource
diff options
context:
space:
mode:
authorJisheng Zhang <jszhang@marvell.com>2015-11-25 17:01:52 +0100
committerDaniel Lezcano <daniel.lezcano@linaro.org>2015-12-15 21:41:28 +0100
commit520ddad4e560423a320bc1861792da19b0b879f9 (patch)
tree984ef3a84732fc4ec1446a491bde07664cf671e9 /drivers/clocksource
parentclocksource/drivers/dw_apb_timer: Use {readl|writel}_relaxed in critical path (diff)
downloadlinux-520ddad4e560423a320bc1861792da19b0b879f9.tar.xz
linux-520ddad4e560423a320bc1861792da19b0b879f9.zip
clocksource/drivers/dw_apb_timer: Inline apbt_readl and apbt_writel
It seems gcc can automatically inline apbt_writel() for us, but apbt_real isn't inlined. This patch makes them inline to get a trivial performance improvement: 4096 rounds of __apbt_read_clocksource() call spend time on Marvell BG4CT platform: before the patch 1275240ns on average after the patch 1263240ns on average so we get 1% performance improvement. Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/clocksource')
-rw-r--r--drivers/clocksource/dw_apb_timer.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clocksource/dw_apb_timer.c b/drivers/clocksource/dw_apb_timer.c
index 7f95b5347a9a..63345260244d 100644
--- a/drivers/clocksource/dw_apb_timer.c
+++ b/drivers/clocksource/dw_apb_timer.c
@@ -49,13 +49,13 @@ clocksource_to_dw_apb_clocksource(struct clocksource *cs)
return container_of(cs, struct dw_apb_clocksource, cs);
}
-static u32 apbt_readl(struct dw_apb_timer *timer, unsigned long offs)
+static inline u32 apbt_readl(struct dw_apb_timer *timer, unsigned long offs)
{
return readl(timer->base + offs);
}
-static void apbt_writel(struct dw_apb_timer *timer, u32 val,
- unsigned long offs)
+static inline void apbt_writel(struct dw_apb_timer *timer, u32 val,
+ unsigned long offs)
{
writel(val, timer->base + offs);
}