linux/drivers/clocksource
Tomasz Figa 6fe4dfd041 clocksource: samsung_pwm_timer: Correct programming of clock events
In current code, the tick count value programmed to the hardware is
always decremented by one. This is reasonable for periodic mode, since
there is one extra tick between 0 and COUNT (after reloading), but it
makes oneshot events happen 1 tick earlier than requested, because the
interrupt is triggered on transition from 1 to 0.

This patch removes the decrementation from PWM channel setup code and
moves it instead to periodic timer setup, to make both periodic and
oneshot modes work correctly.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-04-28 12:17:01 -07:00
..
acpi_pm.c Drivers: clocksource: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
arm_arch_timer.c ARM: arch_timers: switch to physical timers if HYP mode is available 2013-01-31 15:52:00 +00:00
bcm2835_timer.c clocksource: pass DT node pointer to init functions 2013-03-11 08:42:07 -05:00
clksrc-dbx500-prcmu.c clocksource: dbx500: convert to clocksource_register_hz() 2012-02-01 18:37:37 -08:00
clksrc-of.c clocksource: make CLOCKSOURCE_OF_DECLARE type safe 2013-03-28 12:01:06 +01:00
cs5535-clockevt.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
cyclone.c clocksource: cyclone: Add missing iounmap 2012-01-26 19:30:40 -08:00
dw_apb_timer_of.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
dw_apb_timer.c dw_apb_timer: constify clocksource name 2011-10-04 13:08:18 -07:00
em_sti.c Drivers: clocksource: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
Kconfig clocksource: samsung_pwm_timer: Add support for non-DT platforms 2013-04-28 12:16:54 -07:00
Makefile clocksource: add samsung pwm timer driver 2013-04-21 00:21:05 +02:00
metag_generic.c metag: Time keeping 2013-03-02 20:09:22 +00:00
mmio.c clocksource: add common mmio clocksource 2011-05-23 18:04:51 +01:00
nomadik-mtu.c Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-26 19:43:20 -08:00
samsung_pwm_timer.c clocksource: samsung_pwm_timer: Correct programming of clock events 2013-04-28 12:17:01 -07:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c Drivers: clocksource: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
sh_mtu2.c Drivers: clocksource: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
sh_tmu.c Drivers: clocksource: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
sunxi_timer.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
tcb_clksrc.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
tegra20_timer.c ARM: smp_twd: convert to use CLKSRC_OF init 2013-03-11 08:42:08 -05:00
time-armada-370-xp.c clocksource: time-armada-370-xp: add local timer support 2013-02-28 18:57:07 +01:00
vt8500_timer.c clocksource: make CLOCKSOURCE_OF_DECLARE type safe 2013-03-28 12:01:06 +01:00