* [Qemu-devel] [PATCH] MusicPal: Restore display size after invalidation
@ 2008-05-22 13:21 Jan Kiszka
0 siblings, 0 replies; only message in thread
From: Jan Kiszka @ 2008-05-22 13:21 UTC (permalink / raw)
To: qemu-devel
Make sure that the MusicPal display is set to the correct size again
after some other console may have used a different size.
Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
---
hw/musicpal.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
Index: b/hw/musicpal.c
===================================================================
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -759,6 +759,7 @@ typedef struct musicpal_lcd_state {
int page_off;
DisplayState *ds;
uint8_t video_ram[128*64/8];
+ int resize;
} musicpal_lcd_state;
static uint32_t lcd_brightness;
@@ -817,6 +818,11 @@ static void lcd_refresh(void *opaque)
musicpal_lcd_state *s = opaque;
int x, y, col;
+ if (s->resize) {
+ dpy_resize(s->ds, 128*3, 64*3);
+ s->resize = 0;
+ }
+
switch (s->ds->depth) {
case 0:
return;
@@ -843,6 +849,13 @@ static void lcd_refresh(void *opaque)
dpy_update(s->ds, 0, 0, 128*3, 64*3);
}
+static void lcd_invalidate(void *opaque)
+{
+ musicpal_lcd_state *s = opaque;
+
+ s->resize = 1;
+}
+
static uint32_t musicpal_lcd_read(void *opaque, target_phys_addr_t offset)
{
musicpal_lcd_state *s = opaque;
@@ -919,12 +932,12 @@ static void musicpal_lcd_init(DisplaySta
return;
s->base = base;
s->ds = ds;
+ s->resize = 1;
iomemtype = cpu_register_io_memory(0, musicpal_lcd_readfn,
musicpal_lcd_writefn, s);
cpu_register_physical_memory(base, MP_LCD_SIZE, iomemtype);
- graphic_console_init(ds, lcd_refresh, NULL, NULL, NULL, s);
- dpy_resize(ds, 128*3, 64*3);
+ graphic_console_init(ds, lcd_refresh, lcd_invalidate, NULL, NULL, s);
}
/* PIC register offsets */
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-05-22 13:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-22 13:21 [Qemu-devel] [PATCH] MusicPal: Restore display size after invalidation Jan Kiszka
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.