From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, leif.lindholm@oss.qualcomm.com,
eauger@redhat.com
Subject: [PATCH 2/6] arm: gwdt: consolidate clear WS0 and WS1 on explicit refresh
Date: Wed, 2 Sep 2026 14:26:42 +0200 [thread overview]
Message-ID: <20260902122646.2848464-3-imammedo@redhat.com> (raw)
In-Reply-To: <20260902122646.2848464-1-imammedo@redhat.com>
Current impl had logic scattered all over the place and WCS was implicitly
cleared on WCS write.
Consolidate clear action in one place under EXPLICIT_REFRESH condition.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
hw/watchdog/sbsa_gwdt.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c
index 7cc5609b83..2aa44573a7 100644
--- a/hw/watchdog/sbsa_gwdt.c
+++ b/hw/watchdog/sbsa_gwdt.c
@@ -105,6 +105,10 @@ static void sbsa_gwdt_update_timer(SBSA_GWDTState *s, WdtRefreshType rtype)
timer_del(s->timer);
+ if (rtype == EXPLICIT_REFRESH) {
+ s->wcs &= ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1);
+ }
+
if (!(s->wcs & SBSA_GWDT_WCS_EN)) {
return;
}
@@ -134,8 +138,6 @@ static void sbsa_gwdt_rwrite(void *opaque, hwaddr offset, uint64_t data,
trace_sbsa_gwdt_refresh_write(offset, data);
if (offset == SBSA_GWDT_WRR) {
- s->wcs &= ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1);
-
sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH);
} else {
qemu_log_mask(LOG_GUEST_ERROR, "bad address in refresh frame write :"
@@ -157,14 +159,12 @@ static void sbsa_gwdt_write(void *opaque, hwaddr offset, uint64_t data,
case SBSA_GWDT_WOR:
s->worl = data;
- s->wcs &= ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1);
qemu_set_irq(s->irq, 0);
sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH);
break;
case SBSA_GWDT_WORU:
s->woru = data & SBSA_GWDT_WOR_MASK;
- s->wcs &= ~(SBSA_GWDT_WCS_WS0 | SBSA_GWDT_WCS_WS1);
qemu_set_irq(s->irq, 0);
sbsa_gwdt_update_timer(s, EXPLICIT_REFRESH);
break;
--
2.52.0
next prev parent reply other threads:[~2026-09-02 12:28 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-02 12:26 [PATCH 0/6] sbsa-gwdt cleanup and fixes Igor Mammedov
2026-09-02 12:26 ` [PATCH 1/6] sbsa-gwdt: reduce code ident Igor Mammedov
2026-09-08 14:28 ` Peter Maydell
2026-09-08 14:47 ` Igor Mammedov
2026-09-02 12:26 ` Igor Mammedov [this message]
2026-09-08 14:34 ` [PATCH 2/6] arm: gwdt: consolidate clear WS0 and WS1 on explicit refresh Peter Maydell
2026-09-02 12:26 ` [PATCH 3/6] arm: gwdt: simplify WCV update condition Igor Mammedov
2026-09-08 14:49 ` Peter Maydell
2026-09-02 12:26 ` [PATCH 4/6] sbsa-gwdt: rename sbsa_gwdt_update_timer() to sbsa_gwdt_wor_update_timer() Igor Mammedov
2026-09-08 14:56 ` Peter Maydell
2026-09-02 12:26 ` [PATCH 5/6] sbsa-gwdt: don't arm timer for compare values above INT64_MAX Igor Mammedov
2026-09-08 14:57 ` Peter Maydell
2026-09-02 12:26 ` [PATCH 6/6] sbsa-gwdt: reschedule timer on direct WCV load Igor Mammedov
2026-09-08 14:57 ` Peter Maydell
2026-09-08 15:08 ` [PATCH 0/6] sbsa-gwdt cleanup and fixes Peter Maydell
2026-09-09 8:17 ` Igor Mammedov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260902122646.2848464-3-imammedo@redhat.com \
--to=imammedo@redhat.com \
--cc=eauger@redhat.com \
--cc=leif.lindholm@oss.qualcomm.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.