| From 000ea09be830a2ee67582125610228d659bc11ab Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 4 Mar 2021 09:21:35 +0200 |
| Subject: clocksource/drivers/timer-ti-dm: Add missing |
| set_state_oneshot_stopped |
| |
| From: Tony Lindgren <tony@atomide.com> |
| |
| [ 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 | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| 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; |
| |
| -- |
| 2.30.2 |
| |