From: Sven Schnelle <svens@stackframe.org>
To: "Helge Deller" <deller@gmx.de>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: qemu-devel@nongnu.org
Subject: [PATCH 2/3] hw/display/artist: allow to disable/enable cursor
Date: Fri, 21 Jan 2022 23:16:18 +0100 [thread overview]
Message-ID: <20220121221619.1069447-3-svens@stackframe.org> (raw)
In-Reply-To: <20220121221619.1069447-1-svens@stackframe.org>
Allow to disable/enable the cursor via the cursor control
register.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
---
hw/display/artist.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/hw/display/artist.c b/hw/display/artist.c
index 7956a1a5c3..cfae92d3e8 100644
--- a/hw/display/artist.c
+++ b/hw/display/artist.c
@@ -80,6 +80,7 @@ struct ARTISTState {
uint32_t line_pattern_skip;
uint32_t cursor_pos;
+ uint32_t cursor_cntl;
uint32_t cursor_height;
uint32_t cursor_width;
@@ -1027,6 +1028,8 @@ static void artist_reg_write(void *opaque, hwaddr addr, uint64_t val,
break;
case CURSOR_CTRL:
+ combine_write_reg(addr, val, size, &s->cursor_cntl);
+ artist_invalidate_cursor(s);
break;
case IMAGE_BITMAP_OP:
@@ -1320,7 +1323,9 @@ static void artist_update_display(void *opaque)
s->width, s->width * 4, 0, 0, artist_draw_line,
s, &first, &last);
- artist_draw_cursor(s);
+ if (s->cursor_cntl & 0x80) {
+ artist_draw_cursor(s);
+ }
dpy_gfx_update(s->con, 0, 0, s->width, s->height);
}
@@ -1419,7 +1424,7 @@ static int vmstate_artist_post_load(void *opaque, int version_id)
static const VMStateDescription vmstate_artist = {
.name = "artist",
- .version_id = 1,
+ .version_id = 2,
.minimum_version_id = 1,
.post_load = vmstate_artist_post_load,
.fields = (VMStateField[]) {
@@ -1440,6 +1445,7 @@ static const VMStateDescription vmstate_artist = {
VMSTATE_UINT32(line_end, ARTISTState),
VMSTATE_UINT32(line_xy, ARTISTState),
VMSTATE_UINT32(cursor_pos, ARTISTState),
+ VMSTATE_UINT32(cursor_cntl, ARTISTState),
VMSTATE_UINT32(cursor_height, ARTISTState),
VMSTATE_UINT32(cursor_width, ARTISTState),
VMSTATE_UINT32(plane_mask, ARTISTState),
--
2.34.1
next prev parent reply other threads:[~2022-01-21 22:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-21 22:16 [PATCH 0/3] hw/display/artist: cursor & buffer mode fixes Sven Schnelle
2022-01-21 22:16 ` [PATCH 1/3] hw/display/artist: fix cursor position Sven Schnelle
2022-01-21 22:16 ` Sven Schnelle [this message]
2022-01-25 8:11 ` [PATCH 2/3] hw/display/artist: allow to disable/enable cursor Gerd Hoffmann
2022-01-21 22:16 ` [PATCH 3/3] hw/display/artist: rewrite vram access mode handling Sven Schnelle
2022-01-25 8:25 ` Gerd Hoffmann
2022-01-25 16:29 ` Sven Schnelle
2022-01-26 9:08 ` Gerd Hoffmann
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=20220121221619.1069447-3-svens@stackframe.org \
--to=svens@stackframe.org \
--cc=deller@gmx.de \
--cc=f4bug@amsat.org \
--cc=kraxel@redhat.com \
--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.