Message ID | 2677e4ce-5266-1492-6232-34bf700589e1@adacore.com |
---|---|
State | New |
Headers | show |
diff --git a/hw/timer/grlib_gptimer.c b/hw/timer/grlib_gptimer.c index a05304d..4344787 100644 --- a/hw/timer/grlib_gptimer.c +++ b/hw/timer/grlib_gptimer.c @@ -275,11 +275,14 @@ static void grlib_gptimer_write(void *opaque, hwaddr addr, case CONFIG_OFFSET: trace_grlib_gptimer_writel(id, addr, value); + /* Interrupt pending. Remains 1 until cleared by writing 0 to this + * bit. + */ if (value & GPTIMER_INT_PENDING) { - /* clear pending bit */ + /* Clear pending bit in value */ value &= ~GPTIMER_INT_PENDING; - } else { - /* keep pending bit */ + + /* Read current pending bit from register */ value |= unit->timers[id].config & GPTIMER_INT_PENDING; }