[PATCH] clocksource/drivers/fttmr010: Clear also overflow bit on AST2600

From: Linus Walleij
Date: Sat Jul 24 2021 - 19:15:41 EST


The code was originally just writing 0x1 into TIMER_INTR_STATE
on the AST2600. But that is just the bit for TIMER_1_INT_MATCH1
so if we're using periodic IRQs we also need to clear
TIMER_1_INT_OVERFLOW.

Cc: Cédric Le Goater <clg@xxxxxxxx>
Cc: Joel Stanley <joel@xxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
---
This patch goes on top of the other two I just sent.
---
drivers/clocksource/timer-fttmr010.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/clocksource/timer-fttmr010.c b/drivers/clocksource/timer-fttmr010.c
index de29d424ec95..24f62698d17f 100644
--- a/drivers/clocksource/timer-fttmr010.c
+++ b/drivers/clocksource/timer-fttmr010.c
@@ -275,7 +275,8 @@ static irqreturn_t ast2600_timer_interrupt(int irq, void *dev_id)

val = readl(fttmr010->base + TIMER_INTR_STATE);
if (val & (TIMER_1_INT_MATCH1 | TIMER_1_INT_OVERFLOW)) {
- writel(TIMER_1_INT_MATCH1, fttmr010->base + TIMER_INTR_STATE);
+ writel(TIMER_1_INT_MATCH1 | TIMER_1_INT_OVERFLOW,
+ fttmr010->base + TIMER_INTR_STATE);
evt->event_handler(evt);
} else {
/* Just clear any spurious IRQs from the block */
--
2.31.1