[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC 03/10] hw/mos6522: Remove redundant mos6522_timer1_update() calls
From: |
Finn Thain |
Subject: |
[RFC 03/10] hw/mos6522: Remove redundant mos6522_timer1_update() calls |
Date: |
Tue, 24 Aug 2021 20:09:36 +1000 |
Reads and writes to the TL and TC registers have no immediate effect on
a running timer, with the exception of a write to TCH. Hence these
mos6522_timer_update() calls are not needed.
Signed-off-by: Finn Thain <fthain@linux-m68k.org>
---
hw/misc/mos6522.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/hw/misc/mos6522.c b/hw/misc/mos6522.c
index ff246b5437..1d4a56077e 100644
--- a/hw/misc/mos6522.c
+++ b/hw/misc/mos6522.c
@@ -234,7 +234,6 @@ uint64_t mos6522_read(void *opaque, hwaddr addr, unsigned
size)
val = s->timers[0].latch & 0xff;
break;
case VIA_REG_T1LH:
- /* XXX: check this */
val = (s->timers[0].latch >> 8) & 0xff;
break;
case VIA_REG_T2CL:
@@ -303,8 +302,6 @@ void mos6522_write(void *opaque, hwaddr addr, uint64_t val,
unsigned size)
break;
case VIA_REG_T1CL:
s->timers[0].latch = (s->timers[0].latch & 0xff00) | val;
- mos6522_timer1_update(s, &s->timers[0],
- qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL));
break;
case VIA_REG_T1CH:
s->timers[0].latch = (s->timers[0].latch & 0xff) | (val << 8);
@@ -313,14 +310,10 @@ void mos6522_write(void *opaque, hwaddr addr, uint64_t
val, unsigned size)
break;
case VIA_REG_T1LL:
s->timers[0].latch = (s->timers[0].latch & 0xff00) | val;
- mos6522_timer1_update(s, &s->timers[0],
- qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL));
break;
case VIA_REG_T1LH:
s->timers[0].latch = (s->timers[0].latch & 0xff) | (val << 8);
s->ifr &= ~T1_INT;
- mos6522_timer1_update(s, &s->timers[0],
- qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL));
break;
case VIA_REG_T2CL:
s->timers[1].latch = (s->timers[1].latch & 0xff00) | val;
--
2.26.3
- Re: [RFC 04/10] hw/mos6522: Rename timer callback functions, (continued)
- [RFC 08/10] hw/mos6522: Call mos6522_update_irq() when appropriate, Finn Thain, 2021/08/24
- [RFC 05/10] hw/mos6522: Don't clear T1 interrupt flag on latch write, Finn Thain, 2021/08/24
- [RFC 07/10] hw/mos6522: Fix initial timer counter reload, Finn Thain, 2021/08/24
- [RFC 03/10] hw/mos6522: Remove redundant mos6522_timer1_update() calls,
Finn Thain <=
- [RFC 10/10] hw/mos6522: Synchronize timer interrupt and timer counter, Finn Thain, 2021/08/24
- [RFC 02/10] hw/mos6522: Remove get_counter_value() methods and functions, Finn Thain, 2021/08/24
- [RFC 06/10] hw/mos6522: Implement oneshot mode, Finn Thain, 2021/08/24
- [RFC 09/10] hw/mos6522: Avoid using discrepant QEMU clock values, Finn Thain, 2021/08/24