clocksource/drivers/timer-ti-dm: Do not update counter on updating the period
authorLokesh Vutla <lokeshvutla@ti.com>
Thu, 5 Mar 2020 08:27:13 +0000 (13:57 +0530)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 16 Mar 2020 11:40:36 +0000 (12:40 +0100)
Write to trigger register(OMAP_TIMER_TRIGGER_REG) will load the value
in Load register(OMAP_TIMER_LOAD_REG) into Counter register
(OMAP_TIMER_COUNTER_REG).

omap_dm_timer_set_load() writes into trigger register every time load
register is updated. When timer is configured in pwm mode, this causes
disruption in current pwm cycle, which is not expected especially when
pwm is used as PPS signal for synchronized PTP clocks. So do not write
into trigger register on updating the period.

Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200305082715.15861-5-lokeshvutla@ti.com
drivers/clocksource/timer-ti-dm.c

index 1d1bea79cbf171a92e56f3965bb19e3a8f4b44e4..b565b8456e5cd970d573e3130c6140a7380f96d6 100644 (file)
@@ -579,7 +579,6 @@ static int omap_dm_timer_set_load(struct omap_dm_timer *timer, int autoreload,
        omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l);
        omap_dm_timer_write_reg(timer, OMAP_TIMER_LOAD_REG, load);
 
-       omap_dm_timer_write_reg(timer, OMAP_TIMER_TRIGGER_REG, 0);
        omap_dm_timer_disable(timer);
        return 0;
 }