summaryrefslogtreecommitdiff
path: root/drivers/clocksource/timer-ti-dm-systimer.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2021-03-04 10:21:35 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-05-14 10:50:16 +0300
commitedfcc1835958392c0eaad85e6c0cb0b302fe3695 (patch)
treeaedaa3bfd63de7a3863e5ea5d3b10c542f953c2a /drivers/clocksource/timer-ti-dm-systimer.c
parent410a1da7ee0e062c373ca71bdf77749d9248847c (diff)
downloadlinux-edfcc1835958392c0eaad85e6c0cb0b302fe3695.tar.xz
clocksource/drivers/timer-ti-dm: Add missing set_state_oneshot_stopped
[ Upstream commit ac4daf737674b4d29e19b7c300caff3bcf7160d8 ] To avoid spurious timer interrupts when KTIME_MAX is used, we need to configure set_state_oneshot_stopped(). Although implementing this is optional, it still affects things like power management for the extra timer interrupt. For more information, please see commit 8fff52fd5093 ("clockevents: Introduce CLOCK_EVT_STATE_ONESHOT_STOPPED state") and commit cf8c5009ee37 ("clockevents/drivers/arm_arch_timer: Implement ->set_state_oneshot_stopped()"). Fixes: 52762fbd1c47 ("clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support") Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20210304072135.52712-4-tony@atomide.com Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/clocksource/timer-ti-dm-systimer.c')
-rw-r--r--drivers/clocksource/timer-ti-dm-systimer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/clocksource/timer-ti-dm-systimer.c b/drivers/clocksource/timer-ti-dm-systimer.c
index 422376680c8a..3fae9ebb58b8 100644
--- a/drivers/clocksource/timer-ti-dm-systimer.c
+++ b/drivers/clocksource/timer-ti-dm-systimer.c
@@ -554,6 +554,7 @@ static int __init dmtimer_clockevent_init(struct device_node *np)
dev->set_state_shutdown = dmtimer_clockevent_shutdown;
dev->set_state_periodic = dmtimer_set_periodic;
dev->set_state_oneshot = dmtimer_clockevent_shutdown;
+ dev->set_state_oneshot_stopped = dmtimer_clockevent_shutdown;
dev->tick_resume = dmtimer_clockevent_shutdown;
dev->cpumask = cpu_possible_mask;