]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clocksource/drivers/timer-ti-dm: Add missing set_state_oneshot_stopped
authorTony Lindgren <tony@atomide.com>
Thu, 4 Mar 2021 07:21:35 +0000 (09:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 08:49:45 +0000 (10:49 +0200)
[ 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>
drivers/clocksource/timer-ti-dm-systimer.c

index 422376680c8a387e4dbb0beb5833dce99f6e29f6..3fae9ebb58b838c625c334c1def1556b61986412 100644 (file)
@@ -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;