linux/arch/arm/plat-omap
Richard Woodruff 3fddd09e59 ARM: OMAP: DMTimer: Optimize by adding load and start
This patch optimizes the timer load and start sequence.  By combining the
load and start a needless posted wait can be removed from the system timer
execution path.

* Before patch register writes are taking up .078% @ 500MHz during idle.

 Address                 |total  |min  |max      |avr     |count|ratio%
 old\process\default_idle|7.369s |0.0us|999.902ms|14.477ms|509. |62.661%
 ld\Global\cpu_v7_do_idle|4.265s |0.0us|375.786ms|24.374ms|175. |36.270%
                (UNKNOWN)|17.503ms|0.us|531.080us|5.119us|3419. |0.148%
 r\omap_dm_timer_set_load|8.135ms|0.0us|79.887us|15.065us|540.  |0.069% <--
 \vmlinux-old\Global\_end|2.023ms|0.0us|4.000us|0.560us|3613.   |0.017%
 -old\Global\__raw_readsw|1.962ms|0.0us|108.610us|9.167us|214.  |0.016%
 old\smc91x\smc_interrupt|1.353ms|0.0us|10.212us|2.348us|576.   |0.011%
 s/namei\__link_path_walk|1.161ms|0.0us|4.310us|0.762us|  1524. |0.009%
 \omap_dm_timer_write_reg|1.085ms|0.0us|126.150us|2.153us|504.  |0.009% <--

* After patch timer functions do not show up in top listings for long captures.

Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2008-07-03 12:24:30 +03:00
..
clock.c [ARM] omap: fix omap clk support build errors 2008-05-22 16:38:50 +01:00
common.c ARM: OMAP2: Change 24xx to use new register access 2008-04-14 10:29:37 -07:00
cpu-omap.c ARM: OMAP: Fix sleep under spinlock for cpufreq 2008-03-05 10:23:19 +02:00
debug-devices.c [NET] smc91x: Make smc91x use IRQ resource trigger flags 2008-01-28 13:13:19 +00:00
debug-leds.c ARM: OMAP: partial LED fixes 2007-05-09 10:39:42 +01:00
devices.c ARM: OMAP: fix omap i2c init (regression) 2008-03-05 10:23:20 +02:00
dma.c ARM: OMAP: DMA: Don't mark channel active in omap_enable_channel_irq 2008-06-05 14:30:15 -07:00
dmtimer.c ARM: OMAP: DMTimer: Optimize by adding load and start 2008-07-03 12:24:30 +03:00
fb.c Introduce flags for reserve_bootmem() 2008-02-07 08:42:25 -08:00
gpio.c ARM: OMAP: use edge/level handlers from generic IRQ framework 2008-04-14 09:57:11 -07:00
i2c.c ARM: OMAP: Add helper module for board specific I2C bus registration 2008-02-08 10:38:00 -08:00
Kconfig ARM: OMAP: Fix clockevent support for hrtimers 2008-03-20 16:56:09 +02:00
mailbox.c ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox 2008-05-09 10:25:03 -07:00
mailbox.h ARM: OMAP: Add mailbox support for IVA 2007-05-09 10:37:10 +01:00
Makefile ARM: OMAP: Timer32K: Move timer32k to mach-omap1 2008-04-14 09:57:12 -07:00
mcbsp.c ARM: OMAP: Request DSP memory for McBSP 2008-02-08 10:37:57 -08:00
mux.c ARM: OMAP2: Clean-up mux code 2008-04-14 09:57:13 -07:00
ocpi.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sram-fn.S fix file specification in comments 2006-10-03 23:01:26 +02:00
sram.c [ARM] spelling fixes 2007-05-20 20:10:32 +01:00
usb.c ARM: OMAP2: Add common register access for 24xx and 34xx 2008-04-14 10:27:25 -07:00