From: Jan Kiszka <jan.kiszka@siemens.com>
To: Anthony Liguori <aliguori@us.ibm.com>,
qemu-devel <qemu-devel@nongnu.org>
Cc: David Gibson <david@gibson.dropbear.id.au>
Subject: [Qemu-devel] [PATCH 1/2] Move graphic-related coalesced MMIO flushes to affected device models
Date: Fri, 30 Sep 2011 12:31:14 +0200 [thread overview]
Message-ID: <4E859A72.9040007@siemens.com> (raw)
This is conceptually cleaner and will allow us to drop the nographic
timer. Moreover, it will be mandatory to fully exploit future per-device
coalesced MMIO rings.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
hw/g364fb.c | 4 ++++
hw/vga.c | 4 ++++
vl.c | 2 --
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/hw/g364fb.c b/hw/g364fb.c
index b43341f..f00ee27 100644
--- a/hw/g364fb.c
+++ b/hw/g364fb.c
@@ -245,6 +245,8 @@ static void g364fb_update_display(void *opaque)
{
G364State *s = opaque;
+ qemu_flush_coalesced_mmio_buffer();
+
if (s->width == 0 || s->height == 0)
return;
@@ -297,6 +299,8 @@ static void g364fb_screen_dump(void *opaque, const char *filename)
uint8_t *data_buffer;
FILE *f;
+ qemu_flush_coalesced_mmio_buffer();
+
if (s->depth != 8) {
error_report("g364: unknown guest depth %d", s->depth);
return;
diff --git a/hw/vga.c b/hw/vga.c
index f9a6014..8712269 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -1838,6 +1838,8 @@ static void vga_update_display(void *opaque)
VGACommonState *s = opaque;
int full_update, graphic_mode;
+ qemu_flush_coalesced_mmio_buffer();
+
if (ds_get_bits_per_pixel(s->ds) == 0) {
/* nothing to do */
} else {
@@ -1958,6 +1960,8 @@ static void vga_update_text(void *opaque, console_ch_t *chardata)
char msg_buffer[80];
int full_update = 0;
+ qemu_flush_coalesced_mmio_buffer();
+
if (!(s->ar_index & 0x20)) {
graphic_mode = GMODE_BLANK;
} else {
diff --git a/vl.c b/vl.c
index bd4a5ce..54d4dd9 100644
--- a/vl.c
+++ b/vl.c
@@ -1210,7 +1210,6 @@ static void gui_update(void *opaque)
DisplayState *ds = opaque;
DisplayChangeListener *dcl = ds->listeners;
- qemu_flush_coalesced_mmio_buffer();
dpy_refresh(ds);
while (dcl != NULL) {
@@ -1226,7 +1225,6 @@ static void nographic_update(void *opaque)
{
uint64_t interval = GUI_REFRESH_INTERVAL;
- qemu_flush_coalesced_mmio_buffer();
qemu_mod_timer(nographic_timer, interval + qemu_get_clock_ms(rt_clock));
}
--
1.7.3.4
next reply other threads:[~2011-09-30 10:31 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-30 10:31 Jan Kiszka [this message]
2011-10-15 21:35 ` [Qemu-devel] [PATCH 1/2] Move graphic-related coalesced MMIO flushes to affected device models Blue Swirl
2011-10-18 14:00 ` Avi Kivity
2011-10-18 14:05 ` Jan Kiszka
2011-10-18 14:08 ` Avi Kivity
2011-10-18 14:10 ` Jan Kiszka
2011-10-18 14:30 ` Avi Kivity
2011-10-18 16:40 ` Avi Kivity
2011-10-18 16:49 ` Jan Kiszka
2011-10-18 17:34 ` Avi Kivity
2011-10-18 19:50 ` Jan Kiszka
2011-10-19 9:04 ` Avi Kivity
2011-10-19 11:18 ` Jan Kiszka
2011-10-18 18:06 ` Alon Levy
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=4E859A72.9040007@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=aliguori@us.ibm.com \
--cc=david@gibson.dropbear.id.au \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).