Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clocksource/drivers/timer-ti-dm: Do not update counter on updating the period

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

authored by

Lokesh Vutla and committed by
Daniel Lezcano
aff7665d b34677b0

-1
-1
drivers/clocksource/timer-ti-dm.c
··· 579 579 omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); 580 580 omap_dm_timer_write_reg(timer, OMAP_TIMER_LOAD_REG, load); 581 581 582 - omap_dm_timer_write_reg(timer, OMAP_TIMER_TRIGGER_REG, 0); 583 582 omap_dm_timer_disable(timer); 584 583 return 0; 585 584 }