[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 6/9] hw/mos6522: Call mos6522_update_irq() when appropriate
From: |
Finn Thain |
Subject: |
[PATCH v1 6/9] hw/mos6522: Call mos6522_update_irq() when appropriate |
Date: |
Fri, 24 Sep 2021 08:49:56 +1000 |
It necessary to call mos6522_update_irq() when the interrupt flags
change and unnecessary when they haven't.
Signed-off-by: Finn Thain <fthain@linux-m68k.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
hw/misc/mos6522.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/misc/mos6522.c b/hw/misc/mos6522.c
index 6bd60f2118..bfe1719b18 100644
--- a/hw/misc/mos6522.c
+++ b/hw/misc/mos6522.c
@@ -203,10 +203,12 @@ uint64_t mos6522_read(void *opaque, hwaddr addr, unsigned
size)
if (now >= s->timers[0].next_irq_time) {
mos6522_timer1_update(s, &s->timers[0], now);
s->ifr |= T1_INT;
+ mos6522_update_irq(s);
}
if (now >= s->timers[1].next_irq_time) {
mos6522_timer2_update(s, &s->timers[1], now);
s->ifr |= T2_INT;
+ mos6522_update_irq(s);
}
switch (addr) {
case VIA_REG_B:
@@ -231,7 +233,6 @@ uint64_t mos6522_read(void *opaque, hwaddr addr, unsigned
size)
break;
case VIA_REG_T1CH:
val = get_counter(s, &s->timers[0]) >> 8;
- mos6522_update_irq(s);
break;
case VIA_REG_T1LL:
val = s->timers[0].latch & 0xff;
--
2.26.3
- [PATCH v1 0/9] hw/mos6522: VIA timer emulation fixes and improvements, Finn Thain, 2021/09/23
- [PATCH v1 1/9] hw/mos6522: Remove get_load_time() methods and functions, Finn Thain, 2021/09/23
- [PATCH v1 2/9] hw/mos6522: Remove get_counter_value() methods and functions, Finn Thain, 2021/09/23
- [PATCH v1 3/9] hw/mos6522: Remove redundant mos6522_timer1_update() calls, Finn Thain, 2021/09/23
- [PATCH v1 4/9] hw/mos6522: Rename timer callback functions, Finn Thain, 2021/09/23
- [PATCH v1 5/9] hw/mos6522: Fix initial timer counter reload, Finn Thain, 2021/09/23
- [PATCH v1 6/9] hw/mos6522: Call mos6522_update_irq() when appropriate,
Finn Thain <=
- [PATCH v1 7/9] hw/mos6522: Avoid using discrepant QEMU clock values, Finn Thain, 2021/09/23
- [PATCH v1 8/9] hw/mos6522: Synchronize timer interrupt and timer counter, Finn Thain, 2021/09/23
- [PATCH v1 9/9] hw/mos6522: Implement oneshot mode, Finn Thain, 2021/09/23