[PATCH 3/3] clocksource/drivers/timer-clint: Add set_state_oneshot_stopped

From: Jisheng Zhang
Date: Wed Mar 27 2024 - 12:25:36 EST


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.

Check commit 8fff52fd5093 ("clockevents: Introduce
CLOCK_EVT_STATE_ONESHOT_STOPPED state") for more information.

Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
---
drivers/clocksource/timer-clint.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/clocksource/timer-clint.c b/drivers/clocksource/timer-clint.c
index 56cf6c672e6d..f5c04520d6b1 100644
--- a/drivers/clocksource/timer-clint.c
+++ b/drivers/clocksource/timer-clint.c
@@ -134,6 +134,7 @@ static DEFINE_PER_CPU(struct clock_event_device, clint_clock_event) = {
.rating = 100,
.set_next_event = clint_clock_next_event,
.set_state_shutdown = clint_clock_shutdown,
+ .set_state_oneshot_stopped = clint_clock_shutdown,
};

static int clint_timer_starting_cpu(unsigned int cpu)
--
2.43.0