qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Liran Alon <liran.alon@oracle.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, mtosatti@redhat.com, rth@twiddle.net,
	habkost@redhat.com, kraxel@redhat.com,
	Leonid Shatz <leonid.shatz@oracle.com>,
	Liran Alon <liran.alon@oracle.com>
Subject: [Qemu-devel] [PATCH 06/29] vmsvga: Fix parse of SVGA_CMD_UPDATE_VERBOSE to consider additional opaque cookie
Date: Thu,  9 Aug 2018 14:46:19 +0300	[thread overview]
Message-ID: <1533815202-11967-7-git-send-email-liran.alon@oracle.com> (raw)
In-Reply-To: <1533815202-11967-1-git-send-email-liran.alon@oracle.com>

From: Leonid Shatz <leonid.shatz@oracle.com>

SVGA_CMD_UPDATE_VERBOSE has one more extra argument to fetch from command fifo,
as compared to SVGA_CMD_UPDATE command. From Linux kernel
drivers/gpu/drm/vmwgfx/device_include/svga_reg.h:
"Just like SVGA_CMD_UPDATE, but also provide a per-rectangle
'reason' value, an opaque cookie which is used by internal
debugging tools. Third party drivers should not use this
command."

Signed-off-by: Leonid Shatz <leonid.shatz@oracle.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
---
 hw/display/vmware_vga.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c
index 2fbb9e7f6c9f..d3a78809673d 100644
--- a/hw/display/vmware_vga.c
+++ b/hw/display/vmware_vga.c
@@ -611,8 +611,11 @@ static void vmsvga_fifo_run(struct vmsvga_state_s *s)
         switch (cmd = vmsvga_fifo_read(s)) {
 
         /* Implemented commands */
-        case SVGA_CMD_UPDATE:
         case SVGA_CMD_UPDATE_VERBOSE:
+            /* One extra word: an opaque cookie which is used for debugging */
+            len -= 1;
+            /* fall through */
+        case SVGA_CMD_UPDATE:
             len -= 5;
             if (len < 0) {
                 goto rewind;
@@ -622,6 +625,8 @@ static void vmsvga_fifo_run(struct vmsvga_state_s *s)
             y = vmsvga_fifo_read(s);
             width = vmsvga_fifo_read(s);
             height = vmsvga_fifo_read(s);
+            if (cmd == SVGA_CMD_UPDATE_VERBOSE)
+                vmsvga_fifo_read(s);
             vmsvga_update_rect_delayed(s, x, y, width, height);
             break;
 
-- 
1.9.1

  parent reply	other threads:[~2018-08-09 11:47 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-09 11:46 [Qemu-devel] [PATCH 00/29]: vmsvga: Various fixes and enhancements Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 01/29] vmsvga: Stop using redundant fifo pointer variable Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 02/29] vmsvga: Group together commands by their handling Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 03/29] vmsvga: Explictly mark deprecated commands Liran Alon
2018-08-10  9:44   ` Gerd Hoffmann
2018-08-09 11:46 ` [Qemu-devel] [PATCH 04/29] vmsvga: Do not print error message for ignored commands Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 05/29] vmsvga: Show registers and commands on debug output as decimals Liran Alon
2018-08-09 11:46 ` Liran Alon [this message]
2018-08-10 10:00   ` [Qemu-devel] [PATCH 06/29] vmsvga: Fix parse of SVGA_CMD_UPDATE_VERBOSE to consider additional opaque cookie Gerd Hoffmann
2018-08-11  0:04     ` Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 07/29] vmsvga: Handle SVGA_CMD_FRONT_ROP_FILL command Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 08/29] vmsvga: Parse SVGA_CMD_FENCE command to avoid FIFO desync Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 09/29] vmsvga: Account for length of command word when parsing commands Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 10/29] vmsvga: Remove treatment of deprecated commands as Nop Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 11/29] vmsvga: Remove handler of SVGA_CMD_INVALID_CMD Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 12/29] vmsvga: Add definitions of FIFO registers and report their number Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 13/29] vmsvga: Add support for extended FIFO registers Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 14/29] vmsvga: Setup interrupt pin Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 15/29] vmsvga: Add interrupt mask and status registers Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 16/29] vmsvga: Add framework code for SVGA command to raise interrupt Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 17/29] vmsvga: Define interrupt source flags for interrupt status and mask registers Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 18/29] vmsvga: Add support for SVGA_IRQFLAG_FIFO_PROGRESS Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 19/29] vmsvga: Handle SVGA_CMD_FENCE command Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 20/29] vmsvga: Use standard names for params defining hardware cursor image Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 21/29] vmsvga: Use AND mask bpp parameter in SVGA_CMD_DEFINE_CURSOR Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 22/29] vmsvga: Increase size of cursor AND bitmask Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 23/29] vmsvga: Implement initial support for rgb-alpha cursors Liran Alon
2018-08-10  9:51   ` Gerd Hoffmann
2018-08-09 11:46 ` [Qemu-devel] [PATCH 24/29] vmsvga: Add support for SVGA_FIFO_CAP_CURSOR_BYPASS_3 Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 25/29] vmsvga: Add basic support for GMR registers and FIFO commands Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 26/29] vmsvga: Add basic support for display topology Liran Alon
2018-08-10  9:56   ` Gerd Hoffmann
2018-08-11  0:00     ` Liran Alon
2018-08-13 10:39       ` Gerd Hoffmann
2018-08-09 11:46 ` [Qemu-devel] [PATCH 27/29] vmsvga: Add support for pitchlock register (a display line stride) Liran Alon
2018-08-09 11:46 ` [Qemu-devel] [PATCH 28/29] vmsvga: Introduce new function for reporting device capabilities Liran Alon
2018-08-10  9:58   ` Gerd Hoffmann
2018-08-09 11:46 ` [Qemu-devel] [PATCH 29/29] vmsvga: Don't allow setting screen size with zero width or height Liran Alon
2018-08-10 10:14 ` [Qemu-devel] [PATCH 00/29]: vmsvga: Various fixes and enhancements Gerd Hoffmann
2018-08-11  0:04   ` Liran Alon
2018-08-13 10:54     ` 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=1533815202-11967-7-git-send-email-liran.alon@oracle.com \
    --to=liran.alon@oracle.com \
    --cc=habkost@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=leonid.shatz@oracle.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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).