From: Gerd Hoffmann <kraxel@redhat.com>
To: Alon Levy <alevy@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/3] hw/qxl: support client monitor configuration via device
Date: Tue, 11 Sep 2012 10:45:22 +0200 [thread overview]
Message-ID: <504EFA22.2060906@redhat.com> (raw)
In-Reply-To: <1347346570-2469-3-git-send-email-alevy@redhat.com>
On 09/11/12 08:56, Alon Levy wrote:
> Until now we used only the agent to change the monitor count and each
> monitor resolution. This patch introduces the qemu part of using the
> device as the mediator instead of the agent via virtio-serial.
>
> Spice (>=0.11.5) calls the new QXLInterface::client_monitors_config,
> generating an interrupt QXL_INTERRUPT_CLIENT_MONITORS_CONFIG which the
> client indicates handling of (after reading from
> QXLRom::client_monitors_config) by QXL_IO_CLIENT_MONITORS_CONFIG_DONE.
I don't think an explicit handshake via
QXL_IO_CLIENT_MONITORS_CONFIG_DONE is a good idea.
How about this update protocol:
qemu:
(1) set QXLRom::client_monitors_config_updating
(2) fill QXLRom::client_monitors_config
(3) raise QXL_INTERRUPT_CLIENT_MONITORS_CONFIG
(4) clear QXLRom::client_monitors_config_updating
guest:
(1) clear QXL_INTERRUPT_CLIENT_MONITORS_CONFIG bit in irq status
(2) wait until QXLRom::client_monitors_config_updating is clear
(3) parse QXLRom::client_monitors_config
(4) check QXL_INTERRUPT_CLIENT_MONITORS_CONFIG bit in irq status
(a) when set, goto (1).
(b) when clear we are done.
While thinking about it: I think we also don't need the guest
capabilities. With the handshake gone we can update
QXLRom::client_monitors_config unconditionally.
We might want to notify spice-server when the guest flips the
QXL_INTERRUPT_CLIENT_MONITORS_CONFIG bit in the irq mask, so we can
route the event accordingly. Or we just route it unconditionally both
ways and let the guest sort it (i.e. make vdagent ignore monitors config
when the qxl kms driver is active).
cheers,
Gerd
next prev parent reply other threads:[~2012-09-11 8:45 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-11 6:56 [Qemu-devel] [PATCH 1/3] hw/qxl: tracing fixes Alon Levy
2012-09-11 6:56 ` [Qemu-devel] [PATCH 2/3] hw/qxl: add support for QXL_IO_CAPABILITIES_SET Alon Levy
2012-09-11 6:56 ` [Qemu-devel] [PATCH 3/3] hw/qxl: support client monitor configuration via device Alon Levy
2012-09-11 8:45 ` Gerd Hoffmann [this message]
2012-09-11 9:35 ` Alon Levy
2012-09-11 11:05 ` Gerd Hoffmann
2012-09-11 11:29 ` Alon Levy
2012-09-11 12:10 ` Gerd Hoffmann
2012-09-11 11:43 ` Hans de Goede
2012-09-11 12:03 ` Alon Levy
2012-09-11 12:10 ` Alon Levy
2012-09-11 12:16 ` Hans de Goede
2012-09-11 12:23 ` Gerd Hoffmann
2012-09-11 12:37 ` Alon Levy
2012-09-11 13:03 ` Gerd Hoffmann
2012-09-11 13:05 ` Alon Levy
2012-09-11 13:24 ` Hans de Goede
2012-09-11 13:55 ` Alon Levy
-- strict thread matches above, loose matches on Subject: below --
2012-09-12 13:13 [Qemu-devel] [PATCH 0/3] client monitors config support Alon Levy
2012-09-12 13:13 ` [Qemu-devel] [PATCH 3/3] hw/qxl: support client monitor configuration via device Alon Levy
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=504EFA22.2060906@redhat.com \
--to=kraxel@redhat.com \
--cc=alevy@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 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).