aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-06-20 13:26:15 +0100
committerPeter Maydell <peter.maydell@linaro.org>2014-06-23 16:20:41 +0100
commitb7ca035baabfd8602ebe6ff3ac05ec10ce51a2ff (patch)
tree3a2acc70ce9a5704aa65d824c579bc52b736f256
parentb60cf547a174509f3c68a6998adb2cf59f2d5aa6 (diff)
downloadqemu-arm-b7ca035baabfd8602ebe6ff3ac05ec10ce51a2ff.tar.gz
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 <peter.maydell@linaro.org>
-rw-r--r--hw/display/goldfish_fb.c4
1 files changed, 4 insertions, 0 deletions
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: