Skip to content

Commit

Permalink
clocksource/drivers/timer-gx6605s: Fixup counter reload
Browse files Browse the repository at this point in the history
When the timer counts to the upper limit, an overflow interrupt is
generated, and the count is reset with the value in the TIME_INI
register. But the software expects to start counting from 0 when
the count overflows, so it forces TIME_INI to 0 to solve the
potential interrupt storm problem.

Signed-off-by: Guo Ren <[email protected]>
Tested-by: Xu Kai <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Daniel Lezcano <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
  • Loading branch information
guoren83 authored and dlezcano committed Aug 24, 2020
1 parent 1648051 commit bc6717d
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions drivers/clocksource/timer-gx6605s.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ static irqreturn_t gx6605s_timer_interrupt(int irq, void *dev)
void __iomem *base = timer_of_base(to_timer_of(ce));

writel_relaxed(GX6605S_STATUS_CLR, base + TIMER_STATUS);
writel_relaxed(0, base + TIMER_INI);

ce->event_handler(ce);

Expand Down

0 comments on commit bc6717d

Please sign in to comment.