diff options
| author | Yangtao Li <[email protected]> | 2023-02-09 04:02:39 +0000 |
|---|---|---|
| committer | Daniel Lezcano <[email protected]> | 2023-02-13 12:10:17 +0000 |
| commit | 5ccb51b06c8bfcfca99d3f68e671eead7318301d (patch) | |
| tree | 1540a65ec79b25c6b7fd8c56ea23dbfcebb193b3 | |
| parent | clocksource/drivers/em_sti: Mark driver as non-removable (diff) | |
| download | kernel-5ccb51b06c8bfcfca99d3f68e671eead7318301d.tar.gz kernel-5ccb51b06c8bfcfca99d3f68e671eead7318301d.zip | |
clocksource/drivers/timer-sun4i: Add CLOCK_EVT_FEAT_DYNIRQ
Add CLOCK_EVT_FEAT_DYNIRQ to allow the IRQ could be runtime set affinity
to the cores that needs wake up, otherwise saying core0 has to send
IPI to wakeup core1. With CLOCK_EVT_FEAT_DYNIRQ set, when broadcast
timer could wake up the cores, IPI is not needed.
After enabling this feature, especially the scene where cpuidle is
enabled can benefit.
Signed-off-by: Yangtao Li <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Daniel Lezcano <[email protected]>
| -rw-r--r-- | drivers/clocksource/timer-sun4i.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/clocksource/timer-sun4i.c b/drivers/clocksource/timer-sun4i.c index e5a70aa1deb4..7bdcc60ad43c 100644 --- a/drivers/clocksource/timer-sun4i.c +++ b/drivers/clocksource/timer-sun4i.c @@ -144,7 +144,8 @@ static struct timer_of to = { .clkevt = { .name = "sun4i_tick", .rating = 350, - .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, + .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT | + CLOCK_EVT_FEAT_DYNIRQ, .set_state_shutdown = sun4i_clkevt_shutdown, .set_state_periodic = sun4i_clkevt_set_periodic, .set_state_oneshot = sun4i_clkevt_set_oneshot, |
