clocksource/drivers/timer-ti-dm: Do not update counter on updating the period
authorLokesh Vutla <lokeshvutla@ti.com>
Mon, 24 Feb 2020 05:07:53 +0000 (10:37 +0530)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 27 Feb 2020 09:26:23 +0000 (10:26 +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.

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

index 269a994d6a99fddaf22a359d74a4f2f174d55681..acc93600d3516ef08a560f4a655f6435f206494c 100644 (file)
@@ -577,7 +577,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);
        /* Save the context */
        timer->context.tclr = l;
        timer->context.tldr = load;