diff options
author | Rabin Vincent <rabin.vincent@stericsson.com> | 2013-01-21 13:09:31 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-05-27 14:05:54 +0200 |
commit | 530282278bc8ceca122f75c2f1c7f77f28aecc89 (patch) | |
tree | 0edbb9fe4b1a3d0559b3cbe0270924913c28c9df /drivers/clocksource/clksrc-dbx500-prcmu.c | |
parent | Linux 3.10-rc3 (diff) | |
download | linux-530282278bc8ceca122f75c2f1c7f77f28aecc89.tar.xz linux-530282278bc8ceca122f75c2f1c7f77f28aecc89.zip |
clocksource: dbx500-prcmu: use relaxed readl variant
Modify clksrc_dbx500_prcmu_read to replace readl() with readl_relaxed().
This speeds up calls to the function by about 40%.
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/clocksource/clksrc-dbx500-prcmu.c')
-rw-r--r-- | drivers/clocksource/clksrc-dbx500-prcmu.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/clocksource/clksrc-dbx500-prcmu.c b/drivers/clocksource/clksrc-dbx500-prcmu.c index 54f3d119d99c..138c5a579550 100644 --- a/drivers/clocksource/clksrc-dbx500-prcmu.c +++ b/drivers/clocksource/clksrc-dbx500-prcmu.c @@ -30,15 +30,14 @@ static void __iomem *clksrc_dbx500_timer_base; -static cycle_t clksrc_dbx500_prcmu_read(struct clocksource *cs) +static cycle_t notrace clksrc_dbx500_prcmu_read(struct clocksource *cs) { + void __iomem *base = clksrc_dbx500_timer_base; u32 count, count2; do { - count = readl(clksrc_dbx500_timer_base + - PRCMU_TIMER_DOWNCOUNT); - count2 = readl(clksrc_dbx500_timer_base + - PRCMU_TIMER_DOWNCOUNT); + count = readl_relaxed(base + PRCMU_TIMER_DOWNCOUNT); + count2 = readl_relaxed(base + PRCMU_TIMER_DOWNCOUNT); } while (count2 != count); /* Negate because the timer is a decrementing counter */ |