From b7ca035baabfd8602ebe6ff3ac05ec10ce51a2ff Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Fri, 20 Jun 2014 13:26:15 +0100 Subject: hw/display/goldfish_fb: Force update on FB_SET_BASE writes After an FB_SET_BASE write, the guest is waiting for us to complete an update cycle and notify it (via the FB_INT_BASE_UPDATE_DONE interrupt status bit). Force the graphics backend to actually do a redraw immediately; this avoids the guest timing out and producing periodic "goldfish_fb_pan_display: timeout waiting for base update" warnings on displays like VNC which make an effort to avoid redraw. Signed-off-by: Peter Maydell --- hw/display/goldfish_fb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/display/goldfish_fb.c b/hw/display/goldfish_fb.c index a9c0325d79..190f0b3ee9 100644 --- a/hw/display/goldfish_fb.c +++ b/hw/display/goldfish_fb.c @@ -323,6 +323,10 @@ static void goldfish_fb_write(void *opaque, hwaddr offset, uint64_t val, //printf("FB_SET_BASE: rotation : %d => %d\n", s->rotation, s->set_rotation); s->rotation = s->set_rotation; } + /* The guest is waiting for us to complete an update cycle + * and notify it, so make sure we do a redraw immediately. + */ + graphic_hw_update(s->con); qemu_set_irq(s->irq, s->int_status & s->int_enable); break; case FB_SET_ROTATION: -- cgit v1.2.3